Computer Science (CSIS) Courses

CSIS1000 Problem Solving and Programming Concepts

This introductory course teaches students the fundamentals of problem solving in computer programming. Students learn to use both textual and graphic algorithms as problem-solving tools. In experience-based learning exercises, students work from a problem statement, conduct a task analysis to solve the problem, decide what data is needed to solve the problem, create a visual representation of their solution, and then convert the visual representation to a textual step-by-step statement of their solution. Students use a range of tools currently used in industry, including functional decomposition diagrams, flowcharts, UML diagrams, use cases, metadata charts, data flow documents and pseudocode. (OL)
Offered at North Miami, Online, Providence, Providence CE
3 Semester Credits

CSIS1020 Fundamentals of C Programming

This introductory programming course teaches students how to program in the C computer language, a fundamental skill for technology professionals. Students learn how to design and develop computer programs using standard strategies and techniques used in industry. Topics covered include how programs are structured, how arrays and strings can be processed, and how files are manipulated.
Prerequisite(s): CSIS1000 or FIT1012 or FIT1025 or ENGN1015.
Offered at Providence
3 Semester Credits

CSIS1040 Fundamentals of Visual Basic

This course provides an introduction to visual programming and GUI development. Students learn to use a multitude of visual tools, statements, properties and events to create and execute applications in a Visual Studio.NET environment. File access for various file types is presented. Relational databases are examined in relation to how they are created and can be accessed using visual basic programming.
Offered at Providence
3 Semester Credits

CSIS1050 Data Structures

This course provides students with an understanding of the various structures used for internal storage and the processing of data. The course presents the concepts of data storage in memory for various processing techniques. Linear and non-linear organization of data and various access methods are presented in both static and dynamic memory allocation. The rationale for each approach is presented and discussed. Storage structures and access methods presented include stacks, queues, linked lists and trees. Students are responsible for the design and implementation of the various items discussed in lecture through both individual and team related projects.
Prerequisite(s): CSIS1020 or CSIS1040.
Offered at Providence
3 Semester Credits

CSIS1101 Computer Science I

This course teaches students to think algorithmically and solve problems efficiently. This course is designed to present an introduction to computer science doctrine; an understanding of core algorithmic concepts (e.g., control structures, assignment, decision structures, mathematical/Boolean operations, etc.); an introduction to structured computer programming languages, problem classification, program development and specification; software development planning techniques; debugging techniques; an introduction to the power of development environments; and documentation of software projects. Students design algorithms to solve problems and learn how to translate these algorithms into working computer programs. Experience is acquired through programming projects in a high-level programming language.
Prerequisite(s): CSIS1000. (OL)
Offered at North Miami, Online, Providence
3 Semester Credits

CSIS1112 Computer Science II

This course further enhances students' understanding of computer science theory and methods and provides an introduction to the study of important algorithms. Main themes include designing with appropriate data structures (Advanced Data Types — ADTs) and classic algorithms, and analyzing the efficiency of the algorithms developed. Classic algorithms studied include those used for recursion, sorting, searching, graph algorithms and maintaining dynamic data structures. ADTs are presented from a generic/usage-oriented perspective.
Prerequisite(s): CSIS1101. (OL)
Offered at North Miami, Online, Providence
3 Semester Credits

CSIS2018 Advanced Data Structures

This is an essential course in the adaptation of ADTs for use in solving complex or computationally expensive problems efficiently. This course provides students with the implementation level details of various ADTs as they are applied to solving a wide array of problems. The course provides advanced programming techniques for implementing ADTs such as recursion. Students also gain an appreciation of the trade-offs between competing ADT solutions as they pertain to problem solving.
Prerequisite(s): CSIS1112. (OL)
Offered at North Miami, Online, Providence
3 Semester Credits

CSIS2023 Survey of Programming Languages

This course examines the evolution of programming languages and the nature of various types of computer languages, concentrating on their suitability, efficiency, and effectiveness as they pertain to particular problem domains. General concepts common to all programming languages are discussed to facilitate learning new languages. Language paradigms (i.e., logic, functional, procedural, object-oriented) are compared and implementation strategies are discussed.
Prerequisite(s): CSIS2018, ENGN2014 or CYB2010. (OL)
Offered at North Miami, Online, Providence
3 Semester Credits

CSIS2030 Database Concepts

This course introduces students to the function of a database environment. The importance of databases to modern systems development provides the motivation for examining data structures and models as they relate to user needs. Relational data models are emphasized along with query languages and user-friendly packages. The various data structures and file storage techniques used with hierarchical, network and relational data management issues are developed. Out-of-class assignments are completed by all students.
Prerequisite(s): CSIS1000 or CSIS1101 or FIT1014 or FIT1040. (OL)
Offered at North Miami, Online, Providence, Providence CE
3 Semester Credits

CSIS2045 Introduction to Operating Systems

This course includes a survey of the functional characteristics of complex operating systems and an introduction to the basic techniques of operating systems design. The course discusses the topics of hardware configuration, channel operation, interrupts, register functions, multiprogramming, multiprocessing, timesharing and JCL.
Prerequisite(s): CSIS1020 or CSIS1040 or CSIS1101. (OL)
Offered at North Miami, Online, Providence, Providence CE
3 Semester Credits

CSIS2050 Advanced Programming Concepts

This course is designed to provide the student with an advanced understanding of the relationship between hardware and software through the use of higher level language (C programming language) facilities. Students learn how to create programs that interface with computer peripherals. Program design, coding, debugging, testing, execution and documentation are reinforced.
Prerequisite(s): CSIS1020 or CSIS1101.
Offered at North Miami, Providence, Providence CE
3 Semester Credits

CSIS2060 Object-Oriented Programming in C++

Object-oriented programming examines programs as a set of objects and explores how the objects are interrelated. Using the C++ programming language, students study the concepts of data encapsulation, attributes, methods and messages within the class structure. They also study the ability of C++ to create in-line functions, operator and function overloading, inheritance and virtual classes. Students design, code, debug and execute various assignments using the C++ programming language in the Visual Studio.NET integrated development environment.
Prerequisite(s): CSIS1020.
Offered at Providence
3 Semester Credits

CSIS2065 Java Programming

This course provides students with the knowledge and skill necessary for object-oriented programming of advanced Java applications. Students learn Java programming language syntax and object-oriented concepts, as well as more sophisticated features of the Java runtime environment, such as support for graphical user interfaces (GUIs), multithreading and networking. This course covers prerequisite knowledge to prepare students for the Sun Certified Programmer for the Java Platform and the Sun Certified Developer for the Java Platform examinations.
Prerequisite(s): CSIS1020 or CSIS1040.
Offered at Providence
3 Semester Credits

CSIS2075 Interface Design for Mobile Devices

This course addresses the unique features and limitations of small, mobile computing devices such as smartphones and tablets. These devices are different from the traditional computing platforms in that they typically do not have mechanical keyboards or pointing devices, but use touch screens as the primary interface. The use of the screen as both the input and output device, the small size of the device, and the added features such as telephony, global positioning, accelerometer and camera provide both challenges and opportunities for the application developer. This course prepares students for application development for mobile computing devices.
Prerequisite(s): Sophomore status. (OL)
Offered at North Miami, Online, Providence
3 Semester Credits

CSIS2080 Database Design

This course provides a foundation for the systems-development effort of using fourth and fifth generation tools in database environments by systematically examining the procedures and tools used in designing a database. This course emphasizes the relational model. Students study normal forms, decomposition, synthesis, semantic modeling, network and hierarchical models. All students complete out-of-class assignments.
Prerequisite(s): CSIS2030. (OL)
Offered at North Miami, Online, Providence, Providence CE
3 Semester Credits

CSIS3070 Exploring Mobile Application Development with the iPhone

This course familiarizes students with the fundamentals of mobile platform development. The basics of Objective-C, Cocoa Touch and the iPhone SDK are taught in order to explore the limitations and concerns associated with handheld device user interfaces as well as features such as acceleration detection, location-awareness, multi-touch input and real-time notification.
Prerequisite(s): CSIS1101.
Offered at North Miami, Providence
3 Semester Credits

CSIS3075 Mobile Application Development with Android

This course extends students' programming interests and talents into the mobile platform. Students are taught to install and configure the Android development toolkit on a personal computer, and to design and code mobile applications that include the use of services that the Android operating system provides on the mobile platform.
Prerequisite(s): CSIS1101. (HY)
Offered at North Miami, Providence
3 Semester Credits

CSIS3106 Software Verification, Validation, Testing and Security

This course covers methods for evaluating software for correctness and reliability, including code inspections, program proofs and testing methodologies. Students learn formal and informal proofs of correctness, code inspections and their role in software verification, unit and system testing techniques, testing tools and limitations of testing. Statistical testing and reliability models address the testing of large scale systems. Students learn techniques for developing secure code, including: software data flow analysis, secure access, using cryptography, eliminating data residue and the need for content checking.
Prerequisite(s): CSIS2045, ITEC2085.
Offered at North Miami, Providence
3 Semester Credits

CSIS3126 Design Project I

This course is designed to allow for mid-program evaluation of the software development skills and abilities of students. Under the direction of faculty, students develop a solution to a complex problem (agreed upon with faculty) to be completed strictly within one semester. Students must utilize all of the skills learned thus far in the program to complete the task required.
Prerequisite(s): CSIS2018, ENGN2014 or CYB2010. (OL)
Offered at North Miami, Online, Providence
3 Semester Credits

CSIS4010 Software Engineering

This course covers development life cycle choices, software code management, software project cost analysis, tools for developing software, productizing software, documenting software products, development effort estimating, software development team dynamics, and emerging trends in the software engineering field.
Prerequisite(s): CSIS3106, PRMG2010.
Offered at North Miami, Providence
3 Semester Credits