Breadth-first study of computer science concepts. Topics include machine architecture, programming, problemsolving techniques, algorithms, operating systems, networking, security, computations, graphics, GUIs, Al, databases, software engineering, and social issues. (LAC)
Prerequisite: CS 101 or CG 120. Study the structured programming development methods; the data types, operators, expressions, control flow, and input and output of a specific structured programming language; and some elementary data structures and algorithms.
Prerequisite: CS 102. Study the software development life cycle; elements of the object model; object-oriented data types and functions; object-oriented enhancements to structured programming; and additional data structures and algorithms.
Prerequisite: CS 200. Internal representation and applications of lists, trees, graphs, sorting, searching, and hashing. Focus on the interactions among algorithm, data structures, and storage structures for the processing of data.
Prerequisite: CS 301. Basic components of programming languages. Specification of syntax and semantics. Description of programming languages features. Examine a wide variety of languages with an emphasis on their structure, design, and use.
Prerequisite: CS 301. Study concepts of engineering software systems. Design and implement a software system project using the team approach.
Consent of instructor. Topics in computer science that reflect the specific interests of available instructors and the specific needs of the students. Repeatable, under different subtitles.
A plan should be submitted and approved by all computer science faculty. Individualized investigation under the direct supervision of a faculty member. (Minimum of 37.5 clock hours required per credit hour.) Repeatable, maximum concurrent enrollment is two times.
Prerequisites: CS 301. Study operating systems history, concepts/structure and design; process, processor, memory, file system and input/output management; and representative operating systems.
Prerequisite: CS 301. Study data communications; network structure, design and architectures; network services and standardization; and respective networks all in the framework of the OSI model.
Prerequisites: CS 101 with a grade of "B" or better or CG 120 with a grade of "B" or better. Sophomores and above. Basics of Linux administration and scripting in an HPC environment. Utilizing an HPC cluster to carry out a significant research project.
Prerequisite: CS 301. Study graphics theory and applications including the description and transformation of world, viewpoint, eye and screen coordinates, two and three dimensional graphics and hidden line algorithms.
Senior or above. A significant computer project will be developed and implemented under the guidance of a computer science professor. A project proposal should be submitted and approved by all computer science faculty. Repeatable, maximum of eight credits.