|
|
|
|
|
|
|
Course Criteria
Add courses to your favorites to save, share, and find your best transfer school.
-
3.00 Credits
This course examines the concepts and structures governing the design and implementation of programming languages. It presents an introduction to the concepts behind compilers and run-time representations of programming languages; features of programming languages supporting abstraction and polymorphism; and the procedural, functional, object-oriented, and concurrent programming paradigms. Programs will be required in languages illustrating each of these paradigms.
Prerequisite:
Computer Science 136
-
3.00 Credits
This course explores the principles underlying the design of computer networks. We will examine techniques for transmitting information efficiently and reliably over a variety of communication media. We will look at the addressing and routing problems that must be solved to ensure that transmitted data gets to the desired destination. We will come to understand the impact that the distributed nature of all network problems has on their difficulty. We will examine the ways in which these issues are addressed by current networking protocols such as TCP/IP and Ethernet. Students will meet weekly with the instructor in pairs to present solutions to problem sets and reports evaluating the technical merit of current solutions to various networking problems.
Prerequisite:
Computer Science 136 and Computer Science 237
-
3.00 Credits
This course introduces a formal framework for investigating both the computability and complexity of problems. We study several models of computation including finite automata, regular languages, context-free grammars, and Turing machines. These models provide a mathematical basis for the study of computability theory--the examination of what problems can be solved and what problems cannot be solved--and the study of complexity theory--the examination of how efficiently problems can be solved. Topics include the halting problem and the P versus NP problem.
Prerequisite:
Computer Science 256 or both a 300-level Mathematics course and permission of instructor
-
3.00 Credits
PhotoShop, medical MRIs, video games, and movie special effects all programatically create and manipulate digital images. This course teaches the fundamental techniques behind these applications. We begin by building a mathematical model of the interaction of light with surfaces, lenses, and an imager. We then study the data structures and processor architectures that allow us to efficiently evaluate that physical model. Students will complete a series of programming assignments for both photorealistic image creation and real-time 3D rendering using C++, OpenGL, and GLSL. These assignments cumulate in a multi-week final project. Topics covered in the course include: projective geometry, ray tracing, bidirectional surface scattering functions, binary space partition trees, matting and compositing, shadow maps, cache management, and parallel processing on GPUs.
Prerequisite:
CSCI 136 and CSCI 237 or permission of the instructor
-
3.00 Credits
This tutorial examines the design, implementation, and analysis of machine learning algorithms. Machine Learning is a branch of Artificial Intelligence that aims to develop algorithms that will improve a system's performance. Improvement might involve acquiring new factual knowledge from data, learning to perform a new task, or learning to perform an old task more efficiently or effectively. This tutorial will cover examples of supervised learning algorithms (including decision tree learning, support vector machines, and neural networks), unsupervised learning algorithms (including k-means and expectation maximization), and possibly reinforcement learning algorithms (such as Q learning and temporal difference learning). It will also introduce methods for the evaluation of learning algorithms, as well as topics in computational learning theory.
Prerequisite:
Computer Science 136 and Mathematics 251; Computer Science 256 is recommended but not required
-
3.00 Credits
Directed independent reading in Computer Science.
Prerequisite:
Permission of the department
-
3.00 Credits
Directed independent reading in Computer Science.
Prerequisite:
Permission of the department
-
3.00 Credits
This course explores the design and implementation of computer operating systems. Topics include historical aspects of operating systems development, systems programming, process scheduling, synchronization of concurrent processes, virtual machines, memory management and virtual memory, I/O and file systems, system security, os/architecture interaction, and distributed operating systems.
Prerequisite:
Computer Science 237 and either Computer Science 256 or Computer Science 334
-
3.00 Credits
This course provides highly-motivated students an opportunity to work independently with faculty on research topics chosen by individual faculty. Students are generally expected to perform a literature review, identify areas of potential contribution, and explore extensions to existing results. The course culminates in a concise, well-written report describing a problem, its background history, any independent results achieved, and directions for future research.
-
3.00 Credits
No course description available.
Prerequisite:
Computer Science 493
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Privacy Statement
|
Terms of Use
|
Institutional Membership Information
|
About AcademyOne
Copyright 2006 - 2024 AcademyOne, Inc.
|
|
|