Spring 2019

Course Code Title/Instructor Meets
COMP 131-01 Introduction to Computer Science I
Instructor: Spring Davidson
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.
0900:TR   TOME 118
1500:T   TOME 118
COMP 131-02 Introduction to Computer Science I
Instructor: Spring Davidson
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:TR   TOME 118
1500: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. 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.
0930:MWF   TOME 118
1300: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.
1030:MWF   TOME 118
1500:R   TOME 118
COMP 232-02 Data Structures and Problem Solving
Instructor: Grant Braught
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.
 
COMP 314-01 Theoretical Foundations of Computer Science
Instructor: Michael Skalak
Course Description:
Cross-listed with MATH 314-01. 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.
0930:MWF   TOME 231
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:TF   TOME 118
COMP 393-01 Cyber Security
Instructor: James Whitmore
Course Description:
Modern network connected devices are increasingly subject to malicious or unintentional threats that can affect system availability, integrity and the confidentiality of sensitive information. This course explores the topic of cybersecurity from a software designers perspective. The lectures will investigate methods for threat analysis. The lab exercises will demonstrate a range of security related functions, flaws and mitigations that software developers need to consider when building software systems that operate in networked environments.
1500:MR   TOME 231
COMP 492-01 Spring Senior Seminar
Instructor: Grant Braught
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.
1330:MR   TOME 231
COMP 500-01 Distributed and Cloud Computing
Instructor: Farhan Siddiqui
Course Description: