Graduate Computer Science
2018 Spring Term
- This course listing is informational and does not guarantee availability for registration.
- Please click through to view the class schedule to see sections offered for your selected term.
- Sections may be full or not open for registration. Please use WINS if you wish to register for a course.
OPERATING SYSTEMS IN PRACTICE
Computer Science 724
A hands-on study of techniques for managing resources, providing concurrency, enabling communication, and ensuring reliability and security in modern operating systems. Students will write multithreaded programs and implement portions of an operating system. Experience with the C programming language is helpful, but not required.
OPTIMIZATION: TECHNIQUES AND APPLICATIONS
Computer Science 735
The course takes a unified view of optimization, covering the main areas of application and the main optimization algorithms. The topics include linear optimization, robust optimization, network flows, discrete optimization, dynamic optimization and nonlinear optimization. The course involves learning about, using, and analyzing the results of state of the art optimization software.
IMAGE PROCESSING AND COMPUTER VISION
Computer Science 736
This course provides a broad introduction to image processing and computer vision. Topics include but not limited to image formation and perception, quantization, contrast enhancement, Fourier transform, compression and restoration, feature extraction and segmentation. Particular focus will be on the theoretical understanding of these methods, as well as their practical applications. The students will use MATLAB to write code.
BIG DATA AND DATA MINING
Computer Science 767
This course will cover two main areas: (1) machine learning algorithms that can be applied to "big data" (i.e., data sets of great size and complexity); and (2) distributed file systems and MapReduce as tools to generate algorithms, along with associated hardware innovations to facilitate parallel analysis of big data.
ADVANCED SOFTWARE ENGINEERING
Computer Science 776
The course introduces students to software engineering principles and techniques in addition to several advanced topics that are not covered in the undergraduate software engineering course. The advanced topics include component-based software engineering, distributed software engineering, service-oriented architecture, embedded software, and aspect-oriented software engineering. The course will cover design patterns, architecture design patterns, and software configuration management patterns.
Computer Science 789
Under faculty supervision, the student will develop, extend, or modify a significant piece of software or a system with significant software components. The student will also write a technical report and give a presentation describing the software product as well as the development process. Fulfills the Applied Research Project option for graduation. Pass/Fail grade basis only.