CSCI 104 - The Nature of Computing The history of computing machines. Computer logic and binary arithmetic. Elementary concepts of computers. Elementary BASIC programming. Societal impact of computers. When Offered: Fall, spring. Note(s): Cannot be counted toward the major. Unit(s): 2. CSCI 105 - Introduction to Computer Science Introduction to computer hardware and software. Problem solving methods. Elementary concepts of algorithm development. C++ programming. When Offered: Fall. Lecture/Lab Hours: Three hours lecture, one hour lab. Unit(s): 3. CSCI 106 - Data Structures Linear lists, strings, arrays and orthogonal lists; graphs, trees, binary trees, multi-linked structures, searching and sorting techniques, dynamic storage allocation; applications. When Offered: Spring. Prerequisite(s): 105. Unit(s): 3. CSCI 220 - Computer Organization and Assembly Language Programming Fundamentals of digital logic and the architecture of modern computer systems, machine level representation of data, memory system organization, structure of machine languages, assembly language programming. When Offered: Spring Prerequisite(s): 105. Unit(s): 3. CSCI 230 - Programming Languages Organization and structure of programming languages. Runtime behavior and requirements of programs. Introduction to programming language specifications and analysis. Study of various alternative languages such as Ada, C++ and Lisp. When Offered: Fall. Prerequisite(s): 106. Unit(s): 3. CSCI 301 - Software Engineering Concepts, principles, techniques, and documents of software engineering. Emphasis on systematic approaches to software engineering and the software life cycle. Team project required. When Offered: Alternate years. Prerequisite(s): 230. Unit(s): 3. CSCI 311 - Operating Systems Computer operating systems; topics include time sharing, process communication, memory management, storage allocation, interrelationships between the operating system and the architecture of computer systems. When Offered: Alternate years. Prerequisite(s): 106. Unit(s): 3. CSCI 335 - User Interface Design and Programming User interface design, implementation, and evaluation; event-driven programming in GUI applications and web applications; user- centered design methodologies. When Offered: Alternate years. Prerequisite(s): 106. Unit(s): 3. CSCI 400 - Theory of Algorithms Various types of algorithms, analytic techniques for the determination of algorithmic efficiency, NP-complete problems, complexity hierarchies, and intractable problems. When Offered: Alternate years. Prerequisite(s): 106, Math 112. Unit(s): 3. CSCI 402 - Database Management Integrated database systems, logical organization, data description language (DDL), data manipulation language (DML), of hierarchical networks and relational databases, overview of selected database management systems (DBMS). When Offered: Alternate years. Prerequisite(s): 230. Unit(s): 3. CSCI 430 - Computer Communications Concepts of computer communications, local area networks, seven layers of communication protocols, global networks. When Offered: Alternate years. Prerequisite(s): 106. Unit(s): 3.
CSCI 440 - Topics in Computer Science Topics are selected from the following: Compiler Theory : The theory of languages and their implementation. Systems Programming : Design and implementation of language translators and system utilities. Theory of Computation : Concepts from theoretical computer science, finite state concepts, decidability, computability, and Turing machines. Computer Graphics : Computer interactive graphics, software structures, screen display, and graphical techniques. Artificial Intelligence : Concepts and techniques of artificial intelligence, representation, search strategies, control, communication and perception, and applications. Prerequisite(s): 106. Note(s): Course may be repeated for credit with different content. Unit(s): 3. CSCI 480 - Research Seminar Special studies in computer science. Prerequisite(s): Senior standing. Unit(s): 1 – 3.
111
Made with FlippingBook flipbook maker