Undergraduate Course Descriptions
Introduction
All courses, except CS0401, are offered for three credits. Some courses may be cross-listed with courses in the College of General Studies. For descriptions of courses, see the CAS Course Descriptions newspaper published each term. Numbers in parenthesis refer to old course numbers that were used prior to conversion to the four-digit system. Indications of frequency of offering are approximate and subject to change.
I. Core Courses for Majors
- 0401 Intermediate Programming with Java: 4 credits; prerequisite: some high school level programming experience; offered each term
- 0441 Discrete Structures for Computer Science : prerequisite: two years of high school algebra;
Co-requisite: Math 0220; offered each term - 0445 Data Structures: prerequisite: CS0401; offered each term
- 0447 Computer Organization and Assembly Language Programming: co- or prerequisite: CS0445; offered each term
- 0449 Introduction to Systems Software: prerequisites: CS0441 and CS0445; co- or prerequisite: CS 0447; offered each term
II. Upper-Level Courses for Majors
- 1501 Algorithm Implementations: prerequisites: CS0441 and CS0445; offered each term
- 1502 Formal Methods in Computer Science: prerequisites: CS0445 and CS0441; offered each term
- 1510 Algorithm Design: prerequisites: CS1501 and CS1502; offered fall term
- 1511 Introduction to the Theory of Computation: prerequisite: CS1502; offered spring term
- 1515 Scientific Computation: prerequisites: CS0445 and Math 0230 and; either Math 1180 or Math 0280; offered every other year
- 1520 Programming Languages for Web Applications: prerequisite: CS0445; offered each term
- 1530 Software Engineering: prerequisite: CS0445; offered once each year
- 1538 Introduction to Simulation: prerequisites: CS0447 and one statistics course; offered every other year
- 1541 Introduction to Computer Architecture: prerequisites: CS0445 and CS0447; offered each term
- 1550 Introduction to Operating Systems: prerequisites: CS0447 and CS0449; offered each term
- 1555 Database Management Systems: prerequisite: CS0441 and CS0445; offered each term
- 1566 Introduction to Computer Graphics: prerequisites: CS0447 and; Math 0280 or instructor's written permission; offered once each year
- 1567 Programming and System Design Using a Mobile Robot: prerequisites: CS0441 and CS0445; this is an honors course and admission is by special permission from the instructor only; offered once each year
- 1571 Introduction to Artificial Intelligence: prerequisites: CS1501 and CS1502 (or equivalent); offered fall term
- 1573 Artificial Intelligence Programming: prerequisite: CS1501 and CS 1502 or permission of the instructor
- 1590 Social Implications of Computing Technology: prerequisite: CS0004 or CS0007 or CS0401 or permission of instructor; offered once each year
- 1621 Structure of Programming Languages: prerequisites: CS0441 and CS0445; offered fall term
- 1622 Introduction to Compiler Design: prerequisites: CS0441 and CS0447; offered spring term
- 1630 Software-System Design and Management: prerequisites: CS1501 and either CS1520 or CS1530 or CS1550 or CS1555 or CS1566 or permission of instructor; offered once each year
- 1631 Software Design Methodology: prerequisites: CS0441 and CS0445
- 1635 Interface Design Methodology: prerequisites: CS0445; offered every other year
- 1640 Bioinformatics Software Design: prerequisites: CS1501 OR BIOSCI 1540; offered once each year (BIOSCI 1640)
- 1645 Introduction To High Performance Computing Systems: prerequisite: CS0447 and CS0449; offered every other year
- 1651 Advanced Systems Software: prerequisite: CS1550 or permission of instructor; offered once each year
- 1652 Data Communications and Computer Networks: prerequisite: CS0449; offered once each year
- 1653 Applied Cryptography and Network Security: prerequisite: CS0449 and CS1501; offered once each year
- 1655 Secure Data Management and Web Applications: prerequisite: CS0441 and CS0445; offered every other year
- 1666 Principles of Computer Game Design and Implementation: prerequisite: CS 1566; offered once each year during Fall term
- 1671 Human Language Technologies: prerequisite: CS 1501 and 1502; offered every other year
- 1680 Project Design and Implementation: prerequiste: CS1501 and CS1550; offered every fall and spring term
- 1699 Special Topics in Computer Science : prerequisite: permission of instructor; offered once each year
- 1900 Internship: S/N only; offered each term
- 1950 Directed Study: variable credits 1 to 3; offered each term
III. Introductory Service Courses Primarily for Non-Majors
- 0004 Introduction to Computer Programming: BASIC: offered each term
- 0007 Introduction to Computer Programming: offered each term
- 0008 Introduction to Computer Programming with Python: offered each term
- 0090 Sustainability and Computing:
- 0110 Introduction to Personal Computers and the Internet: offered each term
IV. Intermediate Service Courses
- 0131 Software for Personal Computing: offered each term
- 0132 Programming in C and a Guide to the Unix Operating System: prerequisite: CS0002 or CS0003 or CS0004 or CS0007; offered each term
- 0134 Web Site Design & Development: prerequisite: CS0110 and CS0131, or permission of instructor; offered each term
- 0334 Intermediate Web Site Design and Development: prerequisites: CS 0134 or consent of instructor