Fall 2013 Elective Courses

Course Descriptions
Fall 2013 Course List

CSCI-UA.0436-001 5897 Computer Architecture

Prerequisites: Computer Systems Organization (CSCI-UA.0201) and Discrete Mathematics (MATH-UA.0120). Offered in the fall. 4 points.
A first course in the structure and design of computer systems. Basic logic modules and arithmetic circuits. Control unit design of computers and structure of a simple processor; speed-up techniques. Storage technologies and structure of memory hierarchies; error detection and correction. Input/output structures, busses, programmed data transfer, interrupts, DMA, and microprocessors. Discussion of various computer architectures; stack, pipeline, and parallel machines; and multiple functional units.

CSCI-UA.0453-001 5898 Theory Of Computation

Prerequisite: Basic Algorithms (CSCI-UA 310). Offered in the fall. 4 points.
Takes a mathematical approach to studying topics in computer science, such as regular languages and some of their representations (deterministic finite automata, nondeterministic finite automata, regular expressions) and proof of nonregularity. Context-free languages and pushdown automata; proofs that languages are not context-free. Elements of computability theory. Brief introduction to NP-completeness.

CSCI-UA.0470-001 5899 Object Oriented Programming

Prerequisite: Computer Systems Organization (CSCI-UA 201). Offered in the fall. 4 points.
Object-oriented programming has emerged as a significant software development methodology. This course introduces the important concepts of object-oriented design and languages, including code reuse, data abstraction, inheritance, and dynamic overloading. Covers in depth those features of Java and C++ that support object-oriented programming and gives an overview of other object-oriented languages of interest. Significant programming assignments stressing object-oriented design.

CSCI-UA. 480-001 5900 Special Topics In Computer Science: Computing with Large Data Sets

Prerequisite: CSCI-UA.0201
Enormous collections of data in multiple fields of science and engineering are being gathered and need to be analyzed. For example, the Sloan Digital Sky Survey will represent more than 200 million objects, each with 100 dimensions, and other activities in physics, biology, astronomy, and medicine will soon gather ever-larger sets of data. Biology, and more specifically the field of systems biology, have seen massive improvements in the technologies we use to sequence genomes and measure the levels of gene expression (or activity) in cells under different conditions. These large biology data sets have have features in common with large data sets arising in other fields and illustrate the general need for tools for analysis, manipulation and statistical analysis of large data sets. This course will discuss some of the associated unprecedented computational challenges, focusing on these very large data sets arising in computational biology. The course is intended to addre ss some of the needed general principles by using a high-level language, the R statistical programming language, to analyze large genomic data sets. We will focus on four main data-sets in this class that come from current genomics and systems-biology studies; the needed biology and statistics will be taught throughout the course.

CSCI-UA. 480-002 13986 Special Topics In Comp Science: Introduction to Machine Learning

Prerequisite: CSCI-UA.0310
This course will cover a wide variety of topics in machine learning, pattern recognition, statistical modeling, and neural computation. Machine Learning and Pattern Recognition methods are at the core of many recent advances in "intelligent computing". Current applications include machine perception (vision, audition), control (process control, robotics), data mining, time-series prediction (e.g. in finance), natural language processing, web search and text mining, and text classification, bio-informatics, modeling of biological processes, and many other areas.

top | contact webmaster@cs.nyu.edu