Mathematics and Computer Science

Draper Building
CPO 2146
859-985-3563

Office Hours:
M–F, 8:00 a.m.–5:00 p.m.

Contact:

Current and Future Computer Science Offerings
 

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