| CSC 100. | Introduction to Computer Systems | |
|---|---|---|
| 2 credits | ||
| Introduction to the use of modern computer systems. Basics of word-processing, graphics, spreadsheets, Internet access and Web development software. Use of computer peripherals such as printers, scanners and digital cameras. Taught in a laboratory setting. | ||
| CSC 105. | Modern Spreadsheets | |
| 2 credits | ||
| MTH 101 or equivalent | ||
| Introduction to the use of modern spreadsheets, with a particular emphasis on business applications. Taught in a laboratory setting. | ||
| CSC 114. | The Web: Technologies and Techniques | |
| 4 credits | ||
| MTH 110 or above or Placement at 112 level | ||
| Survey the technologies underlying the World Wide Web. Web page construction and Javascript programming. Additional topics such as digital encoding, network organization and encryption systems. Laboratory. | ||
| CSC 117. | Artificial Intelligence: Image and Reality | |
| 4 credits | ||
| MTH 110 or above or Placement at 112 level | ||
| Explores the current reality of artificial intelligence and visions of what it is and will be. Examination of current artificial intelligence systems. Particular emphasis on robotics, with projects involving robot design, creation and programming. Laboratory. | ||
| CSC 120. | Object-Oriented Programming and Design | |
| 4 credits | ||
| MTH 110 or above or Placement at 112 level | ||
| Fundamentals of object-oriented programming in the language of instruction (e.g., Java). Topics include: basic computation, input and output, control structures, classes and object instantiation, methods and parameter passing, arrays and strings, sorting and searching. Laboratory. | ||
| CSC 204. | Social and Ethical Issues in Computer Science | |
| 2 credits | ||
| Any CSC course or Permission | ||
| Studies social and moral problems arising from the use of computing technologies, with a particular focus on the Internet. Topics such as free speech, privacy, communications interception, encryption, intellectual property, liability for software and hardware malfunction, and for information content. | ||
| CSC 220. | Data Structures and Advanced Programming Techniques | |
| 4 credits | ||
| CSC 120 and MTH 120 | ||
| Focuses on object-oriented design, encapsulation and inheritance. Programming topics such as recursion and event-driven programming. Basic data structures such as a stacks, queues and linked lists. | ||
| CSC *230. | Software Engineering | |
| 4 credits | ||
| CSC 220 | ||
| Software development: requirements, specification, modern design techniques, program testing methods, software metrics as used in quality evaluation, and project management. | ||
| CSC *240. | Algorithms and Complexity | |
| 4 credits | ||
| CSC 220 and MTH 220 | ||
| Advanced data structures and algorithms, algorithmic analysis, and an introduction to distributed and parallel algorithms. | ||
| CSC *280. | Topics in Computer Science | |
| 2-4 credits | ||
| Permission | ||
| Topical study in computer science. While topics vary, the course usually introduces a particular computer programming language (e.g., C, C++, Prolog, etc.). | ||
| CSC *310. | Computer Organization | |
| 4 credits | ||
| CSC 220 | ||
| Advanced introduction to assembly languages and structure and organization of digital computers, including addressing schemes, digital representation of data and computer arithmetic. | ||
| CSC *335. | Computer Graphics | |
| 4 credits | ||
| CSC 220 and MTH 220 | ||
| Introduction to techniques of computer graphics including three-dimensional representations, perspective, computer animation, computer art and applications of computer graphics to various other disciplines. | ||
| CSC *345. | Artificial Intelligence | |
| 4 credits | ||
| CSC 220 | ||
| Survey of major topics in artificial intelligence. Emphasis on fundamental concepts: search, knowledge representation, problem solving and logic. Additional topics such as expert systems, learning, natural language processing, neural networks, planning, theorem proving and vision. Programming in an AI language. | ||
| CSC *380. | Topics in Computer Science | |
| 2-4 credits | ||
| Permission | ||
| Topics of current interest and importance. | ||
| CSC *410. | Database Management | |
| 4 credits | ||
| CSC 230 | ||
| In-depth study of techniques for storing, selecting and retrieving data. Topics selected from file and database organization, safety and recovery, privacy, security and commercial systems. | ||
| CSC *420. | Operating Systems | |
| 4 credits | ||
| CSC 310 | ||
| Survey of major concepts of operating systems. Investigation of relationships among the operating system, the architecture and the systems programs of a computer system. | ||
| CSC *430. | Theory of Computing | |
| 4 credits | ||
| CSC 240 | ||
| In-depth study of the main components of the theory of computation: finite automata and computability. | ||
| CSC *440. | Compiler Design | |
| 4 credits | ||
| CSC 310 | ||
| In-depth study of the principles of computer language processor design. Includes lexical analysis, syntactic analysis, semantic analysis, object code generation and error detection. | ||
| CSC *499. | Independent Study | |
| 1-4 credits | ||
| Permission | ||
| CSC *500. | Senior Thesis | |
![]() |
1-4 credits | |
| Permission | ||

