|
The following information is posted to help students and advisors
in scheduling and curriculum planning. We
intend to repeat or possibly even expand the following Computer
Science sequences of courses every two years.
Odd Fall Terms
2009, 2011, etc
|
Even Spring Terms
2010, 2012, etc. |
Even Fall Terms
2010, 2012, etc.
|
Odd Spring Terms
2011, 2013, etc. |
CSC 126
Intro to Robotics |
CSC 111
Storytelling Through Computer Animation |
CSC 126
Intro to Robotics |
CSC 125
Intro to Internet Programming |
CSC 236
Data Structures
|
CSC 226
Intro to Programming with C++ |
CSC 236
Data Structures |
CSC 226
Intro to Programming with C++ |
CSC 330
Database Systems |
MAT 433/CSC 433
Numerical Analysis |
CSC 303
Theory of Computation
|
CSC 325
Operating Systems w/ an Emphasis on UNIX |
|
CSC 440 Advanced Algorithms |
|
CSC 435
Computer Organization |
Computer Science in the Short Term
We try to offer a computer science course frequently
in the Short Term. In Short Term 2010, we will offer the following Computer Science course:
CSC 243 Generic Programming and Design Patterns in C++
(CRN 20091)
This course provides students already having a basic working knowledge of C++ with an introduction to the more advanced topics of generic programming and design patterns.
At its most basic level, generic programming is about generalizing software components to maximize code reuse. The C++ Standard Template Library (STL) provides an example of generic design and implementation. The STL provides a variety of fundamental algorithms, a variety of different container structures and implementations of the essential iterator concepts that enable algorithms and containers to interact. This separation of data from procedures is a fundamental aspect of generic programming. Students will be introduced to the benefits of generic design and observe how such design is achieved in the STL. Beyond the STL, this course introduces the Boost collection of libraries, which provide a wide variety of generic resources for the C++ programmer.
According to architect Christopher Alexander, a design pattern "describes a problem that occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice." Design patterns, in programming, are sometimes described as those reusable parts of a program design that cannot be expressed in code. In this course we discuss the role of design patterns in software engineering, learn a variety of useful patterns, and study examples in code of how design patterns benefit the computer programmer.
Prerequisite: CSC 236
Meeting Time: 12 noon to 2 p.m. MTWRF
Location: Draper Building 310
|