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 hands-on 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.
Offered at North Miami, Providence, Providence CE
4.5 Quarter Credit Hours

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, Providence CE
4.5 Quarter Credit Hours

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.
Prerequisite(s): FIT1012.
Offered at Providence, Providence CE
4.5 Quarter Credit Hours

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
4.5 Quarter Credit Hours

CSIS1060 GUI Concepts

This course provides students with an understanding of a Graphical User Interface environment. Students are introduced to how Windows works with the file hardware. All students customize and configure the Windows environment. Topics include ini file, program, winfile, control panel, device managers, terminal, paintbrush, creating shortcuts, and X windows.
Prerequisite(s): FIT1000 or FIT1012.
Offered at Providence, Providence CE
4.5 Quarter Credit Hours

CSIS1070 Diagnostics and Maintenance

This course provides students with the knowledge and expertise to isolate faults in computer systems, using the desktop computer as a model. Using the systems approach, students learn the subsections of a computer system and their functions. Typical problems with each subsection and the impact of these problems on the operation of the entire system are discussed. The course introduces students to diagnostic software and fault analysis techniques through out-of-class work using standard tools and representative computer diagnostic software.
Prerequisite(s): FIT1000 or FIT1012.
Offered at Providence, Providence CE
4.5 Quarter Credit Hours

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.
Offered at North Miami, Providence
4.5 Quarter Credit Hours

CSIS1112 Computer Science II

This course further enhances the student's 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. This course also serves as an introduction to object oriented programming.
Prerequisite(s): CSIS1101.
Offered at North Miami, Providence
4.5 Quarter Credit Hours

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.
Offered at North Miami, Providence
4.5 Quarter Credit Hours

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 so as to facilitate learning new languages. Language paradigms (e.g., logic, functional, procedural, object-oriented) are compared and implementation strategies are discussed.
Prerequisite(s): CSIS2018, ENGN2014.
Offered at North Miami, Providence
4.5 Quarter Credit Hours

CSIS2025 Introduction to Server Side Technologies

This course emphasizes the fundamentals of server-side web development using industry-standard high-level environments. Students are introduced to concepts and practices including functionality, typical applications in a business setting, technologies and terminology. Client-side interaction is covered to the extent of making Web forms that connect to a data source with some JavaScript used for field validation. Server application and system architecture is emphasized.
Prerequisite(s): SMW2010.
Offered at Providence, Providence CE
4.5 Quarter Credit Hours

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.
Offered at North Miami, Providence, Providence CE
4.5 Quarter Credit Hours

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.
Offered at North Miami, Providence, Providence CE
4.5 Quarter Credit Hours

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
4.5 Quarter Credit Hours

CSIS2055 Introduction to Game Development

This course introduces the student to the fundamental principles of animated game design. Aesthetic and cultural aspects of design include art and modeling, sound and music, history of games, genre analysis, role of violence, gender issues in games, game balance, and careers in the industry. Programmers, artists, musicians, and writers collaborate to produce an original computer game. Focus is placed on developing games and mastering animation techniques used in games for the Web. In-class lectures consist of classical animation concepts and practical software demonstrations related to game development. Students are required to work in groups to produce various types of animated projects. Students also learn methods to optimize and render animations for web delivery.
Prerequisite(s): CSIS1040.
Offered at Providence
4.5 Quarter Credit Hours

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
4.5 Quarter Credit Hours

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 or SMW2010.
Offered at Providence
4.5 Quarter Credit Hours

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.
Offered at North Miami, Providence
4.5 Quarter Credit Hours

CSIS2080 Database Design

The use of fourth and fifth generation tools in database environments is becoming more prevalent. This course provides a foundation for that systems development effort 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.
Offered at Providence, Providence CE
4.5 Quarter Credit Hours

CSIS3030 Server Side Programming I

This course introduces contemporary scripting language to teach fundamental concepts and techniques for programming in a browser-based environment. Data representation, manipulation and how interactive data feeds information on a web page are explored. Current scripting languages are used.
Prerequisite(s): CSIS1101 or CSIS2025.
Offered at North Miami, Providence
4.5 Quarter Credit Hours

CSIS3040 Server Side Programming II

This advanced programming course focuses on data interaction and transaction processing in a client server environment. Students utilize current client and server side compiled programming languages to architect and implement web applications. This course emphasizes current industry best practices using compiled code in current programming environments.
Prerequisite(s): CSIS3030.
Offered at North Miami, Providence
4.5 Quarter Credit Hours

CSIS3050 2D Game Development with C#

This course is an introduction to the concepts related to game development. Students are introduced to the basics of game development of a two dimensional game using sprites and animation. The programming language used is C#. Students are introduced to the methods used for creating sprites, animation, detecting collisions, player control, and incorporating music and sound into the game. Students also design backgrounds and provide animation for the backgrounds to simulate movement of the sprites.
Prerequisite(s): CSIS1040 OR CSIS2060 or CSIS2055, CSIS2065.
Offered at Providence
4.5 Quarter Credit Hours

CSIS3060 Game Engine Design

This course provides the student with an understanding of the fundamentals required for creating a game engine. This is accomplished through the investigation of existing game engine subsystems to understand how they work along with projects to design and build individual subsystems for a student-created game engine. Students are required to demonstrate their subsystems through the use of game projects that incorporate their subsystems into a functioning game.
Prerequisite(s): CSIS3050, MATH1020.
Offered at Providence
4.5 Quarter Credit Hours

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): CSIS1020 or CSIS1101 or CSIS2065.
Offered at North Miami, Providence
4.5 Quarter Credit Hours

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 or CSIS2060 or CSIS2065 (HY)
Offered at North Miami, Providence
4.5 Quarter Credit Hours

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
4.5 Quarter Credit Hours

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 term (11 weeks). Students must utilize all of the skills learned thus far in the program to complete the task required.
Prerequisite(s): CSIS2018, ENGN2014.
Offered at North Miami, Providence
4.5 Quarter Credit Hours

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
4.5 Quarter Credit Hours