200

CIS-265 Advanced Programming Concepts

This course is a continuation of CIS-165 C++ Programming I. Topics considered include functions; structured programming principles; pointer arithmetic; multidimensional arrays; fundamental sorting and searching algorithms; structures; unions; sequential and random access file processing algorithms; and the run-time behavior of programs. Lecture [3.00], Laboratory [1.00].

Credits

3

Prerequisites

CIS-165

CIS-266 Computer Programming: Visual Basic

This course is an introduction to a programming tool for developing user-friendly Windows applications in the QBASIC programming language. It is intended for the student who has already learned the fundamental programming structures of a computer language. After a review of the fundamentals of QBASIC, Visual BASIC tools will be studied and incorporated into applications using modular programming techniques, arrays, sorting and searching techniques, and sequential and random access files. Lecture [3.00], Laboratory [1.00].

Credits

3

Prerequisites

CIS-163 or CIS-165

CIS-270 Programming for Science Applications

This course is a computer programming language course with emphasis on mathematical, scientific, and engineering applications using structured programming principles. Topics covered include data types, specifications, fixed and floating point arithmetic, input and output techniques, multidimensional arrays, external functions and subroutines. Lecture [2.00], Laboratory [2.00].

Credits

3

Prerequisites

MAT-180

CIS-271 Computer Organization and Assembly Language

This course is a study of the interactions between hardware and software necessary for understanding the organization and application of computer systems. Topics to be considered include data representation, Boolean algebra and computer logic, the central processing unit and program execution, main memory, classes of machine language instructions, addressing formats, addressingmodes, and the fundamentals of assembly language programming. Lecture [3.00].

Credits

3

Prerequisites

CIS-165

CIS-277 Data Structures and Algorithms

This course is a study of the representation and implementation of abstract data types and related algorithms that are used in computer science. Topics considered include lists, strings, stacks, queues, trees, graphs, networks, file structures, recursive functions, sorting techniques, searching techniques, hashing, and analysis of algorithms. Lecture [3.00], Laboratory [1.00].

Credits

3

Prerequisites

CIS-265; minimum grade C

CIS-278 Database Systems

This course is an introduction to the design and implementation of database systems. Topics considered include database architecture, physical data organization, the Entity-Relationship model, the hierarchical, network, and relational models of data, normalization theory, data definition languages and query facilities, data integrity and security, and programming language interfaces. Students use a DBMS to develop an actual database. Lecture [3.00], Laboratory [1.00].

Credits

3

Prerequisites

CIS-265 or CIS-266

CIS-287 Object-Oriented Programming

This course is an introduction to the object-oriented approach to program development. Topics considered include classes and their implementation, static members, friend functions, composite classes, functions and operator overloading, inheritance, polymorphism and an introduction to object-oriented analysis and design. Lecture [3.00], Laboratory [1.00].

Credits

3

Prerequisites

CIS-265

CIS-288 Discrete Math [Computer Science]

This course is a study of the mathematical theory and techniques that underlie computer science. Topics considered include set theory, induction, counting techniques, relations and functions, recurrence relations, trees, graphs, Boolean algebra and circuits, grammars and an introduction to automata theory. Applications of these topics in computer science are included in the course. Lecture [4.00].

Credits

4

Corequisites

CIS-265

CIS-289 Systems Analysis and Design [Computer Science]

This course is an introduction to the terminology, concepts, and tools for these two phases of the system development life cycle. Topics considered include preliminary investigation, information requirements analysis, project management, data specification, data flow diagrams, logical data modeling, process specification, structure charts, design techniques, design criteria, andpackaging. Lecture [3.00].

Credits

3

Corequisites

CIS-277