Graduate Special Topics in Computer Science
NOTE: for descriptions
of standard graduate computer science courses, see Graduate Course Descriptions.
CSCI-GA.3033-001 Cloud Computing
See the course homepage for more information.
CSCI-GA.3033-002 Production Quality Software
In this course, students learn to develop production quality software. Lectures
present real-world development practices that maximize software correctness and
minimize development time. A special emphasis is placed on increasing
proficiency in a particular programming language by doing weekly development
projects and participating in code reviews. Assignments become more
sophisticated as the semester progresses, eventually incorporating unit tests,
build scripts, design patterns, and other techniques. The course culminates
with an assignment that requires students to contribute to an open-source
project of their choice.
CSCI-GA.3033-003 Scripting Languages
employment, but most of us do not have the time to find out what they are all
about. In this course, you will learn how to use scripting languages for rapid
prototyping, web programming, data processing, and application extension.
Besides covering traditional programming languages concepts as they apply to
scripting (e.g., dynamic typing and scoping), this course will look at new
concepts rarely found in traditional languages (e.g., string interpolation,
hashes, and polylingual code). Through a series of small projects, you will use
different languages to achieve programming tasks that highlight the strengths
and weaknesses of scripting. For example, we will investigate AJAX and security
concerns for dynamic web pages. As a side effect, you will practice teaching
yourself new languages.
Prerequisites: The course is designed to be relatively self-contained.
You need to be familiar with some existing C-like language (one of C, C++,
Java, or C#, to name a few). But you do not need prior knowledge of either web
design or scripting languages for this course. As long as you have a basic
understanding of computer science, you should be able to pick up the new
languages in the class.
| contact firstname.lastname@example.org