Spring 2017

Course Code Title/Instructor Meets
COMP 131-01 Introduction to Computer Science I
Instructor: Catherine Kimmel
Course Description:
An introduction to Computer Science as a major scientific discipline. Special emphasis is placed on problem solving and experimentation via programming in Java. Topics covered include the design of objects and the use of flow-of-control constructs, along with techniques for testing software. Three hours classroom and two hours laboratory a week. Offered every semester.
1030:MWF   TOME 118
1300:W   TOME 118
COMP 132-01 Introduction to Computer Science II
Instructor: Farhan Siddiqui
Course Description:
A problem-solving course that utilizes object-based software design using Java. Topics include code modularity and reusability, recursion, data storage, and the empirical and theoretical comparison of elementary algorithms. The lab component focuses on programming as a tool for solving problems and simulating real-world events. Prerequisite: 131 or one year of object oriented programming in Java and instructor's permission. Three hours classroom and two hours laboratory a week. Offered every semester.
1130:MWF   TOME 118
1500:W   TOME 118
COMP 232-01 Data Structures and Problem Solving
Instructor: Michael Skalak
Course Description:
An advanced problem-solving course that focuses on the design and analysis of data structures including lists, stacks, queues, trees, and hash tables. Concepts in generic programming are also introduced. The lab component focuses on the implementation of data structures and their application to solving complex problems. Prerequisite: 132. Three hours of classroom and two hours laboratory a week. Offered every spring.
0930:MWF   TOME 118
1500:T   TOME 118
COMP 232-02 Data Structures and Problem Solving
Instructor: Kevin Huggins
Course Description:
An advanced problem-solving course that focuses on the design and analysis of data structures including lists, stacks, queues, trees, and hash tables. Concepts in generic programming are also introduced. The lab component focuses on the implementation of data structures and their application to solving complex problems. Prerequisite: 132. Three hours of classroom and two hours laboratory a week. Offered every spring.
1030:TR   TOME 118
1300:T   TOME 118
COMP 314-01 Theoretical Foundations of Computer Science
Instructor: John MacCormick
Course Description:
An introduction to the theory of computation. Topics include formal language theory (grammars, languages, and automata including Turing machines), and an introduction to the concept of undecidable problems, including the halting problem. Prerequisites: 132 and MATH 211. This course is cross-listed as MATH 314. Offered every spring.
1500:MR   TOME 118
COMP 352-01 Computer Networks
Instructor: Farhan Siddiqui
Course Description:
An examination of the hardware, software and protocols used in computer networks. Topics include layered architectures, client server computing, reliable and unreliable protocols, data encoding and compression, error detection and correction, routing, examination of the internet as an example and an introduction to network programming. Prerequisite: 232 and 251. Offered in odd numbered spring semesters.
1330:MR   TOME 118
COMP 492-01 Spring Senior Seminar
Instructor: John MacCormick
Course Description:
A continuation of the project begun in 491 culminating in a written thesis and public presentation. Additional contemporary issues in computer science may be considered. Prerequisite: 491. Offered every spring.
1500:T   TOME 231
COMP 500-01 Advanced Algorithms
Instructor: Michael Skalak
Course Description: