Computer Science (Univ) (CS)
CS 146 Introduction to Programming 3 Hours
A study of the algorithmic approach in the analysis of problems and their computational solutions. A structured language will be introduced and used in solving assigned problems. Lab sessions may be held in addition to lecture sessions. Not accpetable for credit in computer science major or minor. Note: Two years of high school algebra or concurrent enrollment in a college algebra course required. Colonnade/Statewide General Education Code F-QR | QR
Recent Term(s) Offered: spring 2022; fall 2022; spring 2023; fall 2023; spring 2024; fall 2024
CS 157 Information Security I 3 Hours
An introduction to the concepts, issues, and essential skills of computer security. Topics include computer-based systems, internet communications, networking, and security. Laboratory sessions will be held as needed. May not be counted toward a computer science major or minor.
Recent Term(s) Offered: spring 2022
CS 170 Problem Solving and Programming 3 Hours
The fundamentals of problem solving, program design, and program development techniques. A high-level programming language is used and lab experiences are included. The course may not be counted toward a computer science major or minor.
Prerequisite(s): (MPE - Algebra with a score of 14 or SAT Mathematics Score with a score of 560 or ACT Math with a score of 22 or KYOTE College Algebra with a score of 14) or MATH 115 (may be taken concurrently) or MATH 116 (may be taken concurrently) or MATH 116E (may be taken concurrently)
Recent Term(s) Offered: spring 2022; fall 2022; spring 2023; fall 2023; spring 2024; fall 2024
CS 175 University Experience – Computer Science 3 Hours
Transition to university experience. Topics include study skills, critical thinking skills, library education, exploration of majors and careers degree programs, campus resources, and personal development. Special attention is given to educational requirements, careers, and resources in the field of computer science.
Recent Term(s) Offered: None
CS 180 Computer Science I 4 Hours
A study of the algorithmic approach to the analysis of problems and their computational solutions, using a high-level structured language. Labs are included in the course.
Prerequisite(s): (CS 170 with a minimum grade of C or (ACT Math with a score of 22 and MPE - Algebra with a score of 18) or ACT Math with a score of 27 or MATH 116 with a minimum grade of C or MATH 116E with a minimum grade of C or MA 116C with a minimum grade of C or MATH 123 (may be taken concurrently) with a minimum grade of C)
Recent Term(s) Offered: spring 2022; summer 2022; fall 2022; spring 2023; summer 2023; fall 2023; spring 2024; summer 2024; fall 2024
CS 239 Problem Solving with Computational Techniques 3 Hours
Solving engineering problems using computational techniques. Topics include problem definition, algorithm development, flowcharting, input/output and structured programming. May count as 1.5 hours towards a major/minor in Computer Science. Note: Placement into a science calculus course may be required for course enrollment.
Prerequisite(s): (MATH 117 with a minimum grade of C or MATH 136 (may be taken concurrently) with a minimum grade of C or MATH 137 with a minimum grade of C or MATH 237 with a minimum grade of C or MATH 331 with a minimum grade of C)
Recent Term(s) Offered: fall 2022; fall 2023; fall 2024
CS 245 Introduction to a Computer Programming Langauge 1.5 Hour (repeatable max of 3 hrs)
Designed to introduce the syntax, advantages, limitations, and selected applications of a particular programming language such as ADA, BASIC, C, FORTRAN, LISP, COBOL, PL/l, or assembly language. Will not count toward a computer science major or minor if credit is received for an introduction to the same language in another course.
Prerequisite(s): CS 146 with a minimum grade of C
Recent Term(s) Offered: None
CS 270 Introduction to Web Programming 3 Hours
Introductory course in web programming and web application development. Provides students with essential skills for developing basic client-side and server-side applications.
Prerequisite(s): CS 180 with a minimum grade of C
Recent Term(s) Offered: spring 2022; spring 2023; spring 2024
CS 290 Computer Science II 4 Hours
A study of object-oriented software development and programming concepts including inheritance, polymorphism, stack, queue, list, and introduction to recursion and their applications, including user-interface design.
Prerequisite(s): CS 180 with a minimum grade of C and (MATH 117 with a minimum grade of C or MA 117C with a minimum grade of C or MATH 118 with a minimum grade of C or MATH 136 with a minimum grade of C or MATH 137 with a minimum grade of C)
Recent Term(s) Offered: spring 2022; fall 2022; spring 2023; fall 2023; spring 2024; fall 2024
CS 295 Introduction to Research Methodology 1 Hour
To familiarize Ogden Research Scholars and other research oriented students, with the fundamentals of choosing a research topic, performing a bibliographical search on a subject, topic, classification of instruments, data taking, data reduction, professional ethics and other research oriented topics. The common points of research methodology in the different scientific areas will be accentuated. Examples will be drawn from the various disciplines. Use of computers will be emphasized. (Course does not count towards any major or minor). Note: Ogden Research Scholar, or 3.2 grade point average at the end of freshman year, or Ogden College faculty member recommendation required.
Equivalent(s): ENGR 295, CHEM 295, PHYS 295, MATH 295, BIOL 295
Recent Term(s) Offered: None
CS 299 Introduction to Research in Computer Science 1-3 Hours (repeatable max of 6 hrs)
Directed research in computer science through reading, programming and/or other problem solving activities under the guidance of a faculty member. Note: Permission of instructor may be required.
Prerequisite(s): CS 180 with a minimum grade of B and CS 221 with a minimum grade of B
Recent Term(s) Offered: spring 2022; fall 2022; spring 2023; summer 2023; spring 2024
CS 301 Game Programming 3 Hours
An introductory study of game software development including game object creation, animation, audio, game logic, and game engines. Design, prototyping, and development of a playable game using modern techniques will be covered.
Prerequisite(s): CS 146 with a minimum grade of C or CS 170 with a minimum grade of C or CS 180 with a minimum grade of C or CS 239 with a minimum grade of C
Recent Term(s) Offered: spring 2022; fall 2022; spring 2023; fall 2023; spring 2024
CS 315 Introduction to Unix 3 Hours
Use of the UNIX operating system as a program development environment. Topics include programming tools like debuggers, make, advanced editing, shell programming, and use of the X Window system. Note: Permission of instructor may be required.
Prerequisite(s): CS 290 with a minimum grade of C
Recent Term(s) Offered: fall 2022; fall 2023; fall 2024
CS 325 Computer Organization and Architecture 3 Hours
Advanced assembly programming, instruction sets, processor I/O and bus protocols, memory management, system performance, parallelism, and advanced systems.
Prerequisite(s): CS 290 with a minimum grade of C
Recent Term(s) Offered: fall 2022; fall 2023; summer 2024; fall 2024
CS 331 Data Structures 3 Hours
Analysis and efficient implementation of container types and applications such as priority queues, hash tables, search trees, and graphs; sorting algorithms.
Prerequisite(s): CS 290 with a minimum grade of C
Recent Term(s) Offered: spring 2022; fall 2022; spring 2023; fall 2023; spring 2024; fall 2024
CS 339 Discrete Structures 3 Hours
Finite and discrete structures, including basic proof techniques, algorithm analysis, graph concepts and algorithms, with their applications in computer science.
Prerequisite(s): CS 290 with a minimum grade of C and MATH 136 with a minimum grade of C
Recent Term(s) Offered: spring 2022; spring 2023; spring 2024
CS 351 Database Management Systems I 3 Hours
An introduction to relational database management systems and their applications. Topics include relational model, relational algebra, SQL, indexes, security, integrity rules, effective database design methods, and database applications.
Prerequisite(s): CS 290 with a minimum grade of C
Recent Term(s) Offered: spring 2022; spring 2023; spring 2024
CS 360 Software Engineering I 3 Hours
Modern development cycle examined via software engineering: needs assessment, requirements analysis, user interface, design, construction, test, maintenance/enhancement. Current methodologies and tools: data dictionary, data flow diagrams, structured walkthroughs, teams, program management.
Prerequisite(s): (CS 331 with a minimum grade of C and CS 351 with a minimum grade of C) or (CS 239 with a minimum grade of B or CS 180 with a minimum grade of B and EE 380 with a minimum grade of C) and COMM 145 with a minimum grade of C
Recent Term(s) Offered: fall 2022; fall 2023; fall 2024
CS 369 Cooperative Education in Computer Science 1-3 Hours (repeatable max of 3 hrs)
Practical experience in a supervised work situation with a cooperating business, industry, social or governmental agency. Note: Application for enrollment in cooperative education plan; approval of department head and co-op faculty advisor required.
Recent Term(s) Offered: summer 2022; summer 2024
CS 372 Mobile App Development 3 Hours
Introduces and explores mobile app programming, important environment features; and mobile app development frameworks, architecture, and design.
Prerequisite(s): CS 290 with a minimum grade of C
Recent Term(s) Offered: spring 2022; spring 2023; spring 2024
CS 381 Introduction to Computer Networks 3 Hours
An introduction to the design and analysis of computer networks and their applications, including the basics of data communication, network topologies, protocols, routing and swtiching, naming and addressing.
Prerequisite(s): CS 290 with a minimum grade of C
Recent Term(s) Offered: spring 2022; spring 2024
CS 382 Programming Languages 3 Hours
A study of principles and common features of programming languages. Topics include syntax, semantics, binding, scope, overloading, finite automata, formal languages, etc.
Prerequisite(s): (CS 221 with a minimum grade of C or CS 290 with a minimum grade of C)
Recent Term(s) Offered: spring 2022; spring 2023; spring 2024
CS 389 Practicum in Computer Science 1-4 Hours (repeatable max of 4 hrs)
Intended primarily for upper level undergraduates who will undertake significant programming projects. Written reports and documentation are required. Note: Consent of computer science program coordinator may be required.
Prerequisite(s): CS 351 with a minimum grade of C
Recent Term(s) Offered: None
CS 396 Intermediate Software Project 3 Hours
The course enhances each student's abilities to craft software through the development of a significant group project which requires a variety of skills. Topics include simple data analysis and design, group problem solving, human-computer interface design, software project management, security, and quality control. The technical work will be complemented by written and oral technical presentations.
Prerequisite(s): CS 351 with a minimum grade of C and CS 331 with a minimum grade of C and COMM 145 with a minimum grade of C and (ENG 300 with a minimum grade of C or ENG 307 with a minimum grade of C)
Recent Term(s) Offered: fall 2022; fall 2023; fall 2024
CS 405 Numerical Analysis I 3 Hours
Computer arithmetic, roots of equations, polynomial approximation and interpolation, numerical differentiation and integration. Computer solutions of problems will be required.
Prerequisite(s): MATH 137 with a minimum grade of C and (MATH 237 with a minimum grade of C or MATH 307 with a minimum grade of C or MATH 310 with a minimum grade of C) and (CS 146 with a minimum grade of C or CS 180 with a minimum grade of C)
Equivalent(s): MATH 405
Recent Term(s) Offered: fall 2022; fall 2023; fall 2024
CS 406 Numerical Analysis II 3 Hours
The solution of linear system by direct and iterative methods, matrix inversion, the calculation of eigenvalues and eigenvectors or matrices. Initial and boundary value problems in ordinary differential equations. Computer solution of problems will be required.
Prerequisite(s): MATH 307 and MATH 327 and MATH 331 and (MATH 405 or CS 405)
Recent Term(s) Offered: None
CS 421 Data Structures and Algorithm Analysis 3 Hours
Important data structures, algorithms, and their applications, emphasizing algorithm analysis and general algorithmic strategies. Includes balanced search trees, hashing, priority queues, sorting, and graph algorithms.
Prerequisite(s): CS 339 with a minimum grade of C and CS 331 with a minimum grade of C and STAT 301 with a minimum grade of C
Recent Term(s) Offered: summer 2022; fall 2022; fall 2023; fall 2024
CS 425 Operating Systems I 3 Hours
Overview of the concepts/theory that underlay operating systems with emphasis on process management, memory management, scheduling, multiprocessing, etc.
Prerequisite(s): CS 325 with a minimum grade of C and CS 382 with a minimum grade of C
Recent Term(s) Offered: fall 2022; summer 2023; fall 2023; fall 2024
CS 443 Database Management Systems II 3 Hours
Organization and management of large data files, various database paradigms, database design theory, query optimization, physical database design, database security, distributed databases. Note: Consent of instructor may be required.
Prerequisite(s): CS 331 with a minimum grade of C and CS 351 with a minimum grade of C
Recent Term(s) Offered: fall 2022; fall 2023; fall 2024
CS 445 Operating Systems II 3 Hours
Advanced study of modern operating system theory and practice. Topics include distributed system structures and coordination, distributed file systems, and protection and security.
Prerequisite(s): CS 425 with a minimum grade of C
Recent Term(s) Offered: spring 2022; spring 2023; spring 2024
CS 446 Interactive Computer Graphics 3 Hours
Introduction to elementary topics in interactive computer graphics. Input devices, display devices, and techniques for 2-D and 3-D transformation will be explored as well as difficulties encountered in each of these areas. Assignments will be used to emphasize interaction, data structures, and applications to various disciplines.
Prerequisite(s): MATH 307 with a minimum grade of C and CS 331 with a minimum grade of C
Recent Term(s) Offered: None
CS 450 Computer Networks 3 Hours
An advanced study of the design and implementation of computer networks. Topics include network topologies, switching techniques, routing, end-to-end protocols, quality of service, and other advanced topics, e.g. wireless networks and multimedia networks. Note: Permission of instructor may be required.
Prerequisite(s): CS 325 with a minimum grade of C and CS 381 with a minimum grade of C
Recent Term(s) Offered: None
CS 456 Artificial Intelligence 3 Hours
Study of problems which have no plausible algorithmic solution. Their computer representations and solutions usually involve heuristics.
Prerequisite(s): CS 331 with a minimum grade of C and CS 339 with a minimum grade of C
Recent Term(s) Offered: fall 2023
CS 473 Introduction to Graph Theory 3 Hours
Fundamental concepts, key ideas and tools in graph theory, with an emphasis on proof methods, algorithms and applications. Techniques and tools are applied to practical optimization problems and other areas of mathematics and computer science. Note: Permission of instructor may be required.
Prerequisite(s): MATH 307 with a minimum grade of C and MATH 310 with a minimum grade of C
Equivalent(s): MATH 473
Recent Term(s) Offered: None
CS 475 Selected Topics in Computer Science 1-3 Hours (repeatable max of 12 hrs)
A consideration of special topics which will acquaint the advanced student with significant problems and developments of current interest in computer science. Note: Permission of instructor is required.
Recent Term(s) Offered: spring 2022; summer 2022; fall 2022; spring 2023; fall 2023; spring 2024; summer 2024; fall 2024
CS 476 Research Methods and Projects in Computer Science 3 Hours (repeatable max of 6 hrs)
The languages, programming techniques and skills acquired in the sequence of core courses in the undergraduate program are applied to the analysis and design of computer-based systems. Top-down design techniques are applied in one or more large-scale programs which require attention to the documentation, communication, and inter-facing or modules in a team project. These techniques are essential in most large-scale research applications of computers.
Prerequisite(s): CS 360 with a minimum grade of C
Recent Term(s) Offered: None
CS 496 CS Senior Project and Professional Practice 3 Hours
Student teams of qualifying seniors will design and implement complex capstone software projects. Topics include practical issues of software development, quality assurance and deployment, project management, computing ethics, and professional practice.
Prerequisite(s): CS 360 with a minimum grade of C and CS 396 with a minimum grade of C
Recent Term(s) Offered: spring 2022; spring 2023; spring 2024