ALGORITHMS

Covers algorithm design techniques (“divide-and-conquer,” dynamic programming, ”greedy” algorithms, etc.), analysis techniques (including big-O notation, recurrence relations), useful data structures (including heaps, search trees, adjacency lists), efficient algorithms for a variety of problems, and NP-completeness. Prerequisites: 212, MTH 111, MTH 153.

COMPUTER GRAPHICS

Covers two-dimensional drawings and transformations, three-dimensional graphics, lighting and colors, game design, perspective, curves and surfaces, ray tracing. Employs Postscript, C++, GameMaker, POV-ray, and radiosity. The course accommodates both CS majors, for whom it is programming intensive, and other students with less technical expertise, by having two tracks of assignments. Prerequisites for CSC major credit: CSC 111 and MTH 111 or permission of the instructor; otherwise, CSC 111 or permission of the instructor. 

ADVANCED PROGRAMMING TECHNIQUE

Focuses on several advanced programming environments, with a project for each. Includes object-oriented programming, graphical user interfaces (GUIs), and principles of software engineering. Topics for fall 2016 cover the software development cycle, including versioning, code maintenance, cross-platform development, debugging as well as iterative testing and evaluation. Techniques include asynchronous and event-based programming, server-client development, data exchange via JSON. Prerequisite: 212.

SEM:COMPUT VISION & IMAGE PROC

Seminar: Explores the challenge of computer vision through readings of original papers and implementation of classic algorithms. This seminar considers techniques for extracting useful information from digital images, including both the motivation and the mathematical underpinnings. Topics range from low-level techniques for image enhancement and feature detection to higher-level issues such as stereo vision, image retrieval and segmentation of tracking of objects. Prerequisites: CSC 212, MTH 153

THEORY OF COMPUTATION

Automata and finite state machines, regular sets and regular languages; push-down automata and context-free languages; linear-bounded automata; computability and Turing machines; nondeterminism and undecidability. Perl is used to illustrate regular language concepts. Prerequisites: 111 and MTH 153.

COMPUTER NETWORKS

This course introduces fundamental concepts in the design and implementation of computer communication networks, their protocols and applications. Topics covered include layered network architecture, physical layer and data link protocols; and transport protocols; routing protocols and applications. Most case studies are drawn from the Internet TCP/IP protocol suite. Prerequisites: CSC 111 and MTH 153.

PROGRAM WITH DATA STRUCT LAB

Explores elementary data structures (linked lists, stacks, queues, trees, graphs) and algorithms (searching, sorting) in a variety of contexts, including event-driven applications with a graphical user interface. Emphasizes object-oriented programming throughout, using the Java programming language. Prerequisite: CSC 111. Enrollment limited to 35.

PROGRAM WITH DATA STRUCT LAB

Explores elementary data structures (linked lists, stacks, queues, trees, graphs) and algorithms (searching, sorting) in a variety of contexts, including event-driven applications with a graphical user interface. Emphasizes object-oriented programming throughout, using the Java programming language. Prerequisite: CSC 111. Enrollment limited to 35.

PROGRAM WITH DATA STRUCTURES

Explores elementary data structures (linked lists, stacks, queues, trees, graphs) and algorithms (searching, sorting) in a variety of contexts, including event-driven applications with a graphical user interface. Emphasizes object-oriented programming throughout, using the Java programming language. Prerequisite: CSC 111. Enrollment limited to 35.
Subscribe to