Hunter College Computer Science Courses and Prerequisites
The Department of Computer Science curriculum engages students in rigorous exploration of ideas and theory that are shaping the future of the information age.
- CSCI 120: Introduction to Computers (3 hours, 3 credits)
- Prerequisite: English and Math proficiency. Intended for non-CSCI majors. Basic concepts of computer technology. Principles of hardware operation, software and networking. Roles of computers in society, including ethical and legal issues. This course does not count toward the CSCI major or minor.
- CSCI 121: Computers and Money: Quantitative Reasoning in Context (3 hours, 3 credits)
- Intended for non-CSCI majors. Practical money topics like stocks, credit cards, mortgages, gambling, inflation, retirement and more, cut down to size with a hands-on spreadsheet-based approach. No math is assumed beyond basic arithmetic. This course does not count toward the CSCI major or minor. Fulfills the GER 1/B requirement.
- CSCI 127: Introduction to Computer Science (3 hours, 3 credits)
- A technical introduction to computer science. Organization of hardware, software, information, and an introduction to programming. For potential Computer Science majors who may not be prepared for CSCI 135, science majors who need some basic computer knowledge, and for non-majors who want a more rigorous introduction to the field than CSCI 120. This course does not count toward the CSCI major or minor. Fulfills GER 2/E requirement. Prerequisite or Co-requisite: Math 121, 125 or 150.
- CSCI 132: Practical Unix Programming, with Lab (3 hours, 3 credits)
- Prerequisite: none. An introduction to computer programming and the UNIX operating system using Perl. Conceptual overview of the UNIX operating system and programming environment, a practical introduction to shell programming and the use of UNIX filters and utilities. A pragmatic course with an emphasis on skills acquisition. This course does not count toward the CSCI major or minor.
- CSCI 133: Programming for Everyone (3 hours, 3 credits)
- Prerequisite: none. A comprehensive practical course in programming that concentrates on producing working software for games, simulations, animations, data manipulations, interacting with the Internet, graphical user interfaces and many other application areas. No programming experience is necessary. The course is required for Computer Science minors. It is open to Computer Science majors, but not for major credit. Fulfills GER 2/E Requirement.
- CSC1 135: Software Design and Analysis I (3 hours, 3 credits)
- Prerequisite: CSCI 127 or equivalent. This first course for prospective computer science majors and minors concentrates on problem-solving techniques using a high level programming language (currently C++). The course includes a brief overview of computer systems.
- CSCI 136: Supervised C++ Programming Lab (2 hours, 1 credit)
- Co-requisite: CSCI 135. In this supervised lab environment, students will be expected to work in small teams to complete programming assignments each week under the supervision of an instructor. The assignments will be at the level of material covered in CSCI 135, although it is not a recitation or review section for the course. Emphasis will be on how to solve problems in a cooperative environment. This course does not count toward the CSCI major.
- CSCI 150: Discrete Structures (3 hours, 3 credits)
- Prerequisite: MATH 125 or MATH 150 or MATH 155. Mathematical background required for computer science. Sets, relations, cardinality, propositional calculus, discrete functions, truth tables, induction, combinatorics.
- CSCI 160: Computer Architecture I (3 hours, 3 credits)
- Prerequisite: CSCI 127, CSCI 150. Boolean algebra, data representation, combinational circuitsand minimization, sequential circuits.
- CSCI 181, 182, 183: Independent Workshop (1-3 hours, 1-3 credits)
- Prerequisite: Student must be a declared computer science major and have completed 18 credits in the department. Outside internship in practical aspects of computing, e.g., systems programming, bio-medical computing, computer aided instruction. Credits may not be used toward the major.
- CSCI 232: Relational Databases and SQL Programming, with Lab (3 hours, 3 credits)
- Prerequisite: CSCI 127 or CSCI 132. An introduction to elementary database concepts and SQL, the standard language of communicating with most database systems. A pragmatic course with an emphasis on skills acquisition; students will learn how to get things done quickly and easily in a database environment. This course does not count toward the computer science major. Fulfills GER 3/B requirement.
- CSCI 233: Programming Projects Seminar for Minors (2 hours, 1 credit)
- Prerequisite: CSCI 133 and CSCI 232. Open only to declared Computer Science Minors. This course will serve as a capstone for the minor, affording students the opportunity to write reasonably large and complex programs. Students will be expected to draw topics for these programs from tehir majors and other areas of interest. This course does not count toward the computer science major.
- CSCI 235: Software Design and Analysis II (3 hours, 3 credits)
- Prerequisites: CSCI 135 and 15O, and MATH 150. Representation of information in computers, including process and data abstraction techniques. Topics covered include static and dynamic storage methods, lists, stacks, queues, binary trees, recursion, analysis of simple algorithms, and some searching and sorting algorithms. Fulfills GER 3/B requirement.
- CSCI 260: Computer Architecture II (3 hours, 3 credits)
- Prerequisites: CSCI 135, CSCI 160 or CSCI 245, Math 150.Organization of computer systems and design of system elements, including ALU, memories and interfaces. Some assembly language programming. Fulfills GER 3/B requirement.
- CSCI 265: Computer Theory I (3 hours, 3 credits)
- Prerequisites: CSCI 245 and MATH 150. Recursion, regular sets, regular expressions, finite automata, context-free grammars, pushdown automata. Fulfills GER 3/B requirement.
- CSCI 335: Software Design and Analysis III (3 hours, 3 credits)
- Prerequisites: CSCI 235 and MATH 155. The design and analysis of various types of algorithms, including searching, sorting, graph and tree algorithms. Problem solving techniques. Worst and average case behavior analysis and optimality. Polynomial time complexity classes and theory, including NP-completeness. Fulfills GER 3/B requirement.
- CSCI 340: Operating Systems (3 hours, 3 credits)
- Prerequisites: CSCI 235 and CSCI 260, and MATH 155 and either STAT 113 or 213. Definition of functions and components of operating systems. Survey of contemporary multiprocessing /multiprogramming systems. Exploration of systems programs: their design, internal structure, and implementation. Fulfills GER 3/B requirement.
- CSCI 350: Artificial Intelligence (3 hours, 3 credits)
- Prerequisite: CSCI 235. A survey of artificial intelligence including search and control, knowledge representation, logic and theorem proving, learning, natural language, and AI programming. Fulfills GER 3/B requirement.
- CSCI 355: Introduction to Linear Programming (3 hours, 3 credits)
- Prerequisite: CSCI 235 and MATH 160. Introduction to operations research and game theory. Simplex method; inconsistency, redundancy, and degeneracy problems; two-phase method; duality; transportation problems. Fulfills GER 3/B requirement.
- CSCI 360: Computer Architecture III (3 hours, 3 credits)
- Prerequisites: CSCI 260 or CSCI 245 and MATH 155. High performance computer architectures, including massively parallel SIMD and MIMD machines and distributed architectures. Fulfills GER 3/B requirement.
- CSCI 365: Computer Theory II (3 hours, 3 credits)
- Prerequisite: CSCI 265.Turing machines, Post machines, Post's theorem, Minsky's theorem. Determinism and non-determinism. Undecidability, the halting problem. Recursive function theory.
- CSCI 385 Numerical Methods 1
- Prerequisite: CSCI 135 and MATH 150 and MATH 160 or 260. Accuracy and precision, convergence, iterative and direct methods. Topics selected from: solution of polynomial equations and linear systems of equations, curve fitting and function approximation, interpolation, differentiation and integration, differential equations. This course is cross-listed as MATH 385 and as PHYS 385.
- CSCI 391, 392, 393 Independent Study in Computer Science (1hr, 1cr; 2hr, 2cr; 3hr, 3cr.)
- Prerequisite: Declared CSCI major, Jr/Sr with perm of faculty sponsor and dept. Independent work, under the direction of a faculty member, in practical aspects of computing. NOTE: Effective Fall 2002, CSCI 391 will be repeatable up to a maximum of six times. HOWEVER, only three (3) of these credits) can be used toward the Computer Science Major.
- CSCI 395.xx Topics in Computer Science (3 hours, 3 credits)
- Prerequisites vary with specific topics and are announced prior to registration. Topics include, but are not limited to, networking, data communications, software metrics, and others.
- CSCI 405 Software Engineering (3 hours, 3 credits)
- Prerequisite: CSCI 335. Problems in large-scale software development including functional analysis of information processing systems, system design concepts, timing estimates, documentation, and system testing.
- CSCI 415 Data Communications and Networking (3 hours, 3 credits)
- Prerequisite: CSCI 335 and 340. A broad technical introduction to the components, protocols, organization, industry and regulatory issues that are fundamental to the understanding of contemporary computer networks.
- CSCI 435 Data Base Management (3 hours, 3 credits)
- Prerequisite: CSCI 335. Hierarchical and network databases; theory of relational databases; normalization theory; query languages.
- CSCI 450 Language Translation (3 hours, 3 credits)
- Prerequisite: CSCI 265 and 335. The theory and application of language recognition and analysis techniques, as they pertain to both formal programming languages and to natural languages. Includes lexical, syntactic, and semantic analysis methods, as well as discussions of efficient data representation.
- CSCI 460 Advanced Programming Languages (3 hours, 3 credits)
- Prerequisite: CSCI 265 and 335. Survey course on the design and implementation of modern programming languages. Includes object-oriented, functional, logic and concurrent/distributed paradigms.
- CSCI 485 Numerical Methods 2 (3 hours, 3 credits)
- Prerequisite: CSCI 335 and 385. Advanced topics selected from: solution of equations and systems of equations, curve fitting and function approximation, interpolation, differentiation and integration, differential equations. Major project will be assigned. This course is cross-listed as MATH 485 and as PHYS 485.
- CSCI 493.xx Seminars (3 hours, 3 credits)
- Prerequisites vary with specific topics and are announced prior to registration. Topics include, but are not limited to, microprogramming, information retrieval, artificial intelligence, data communications, cryptography, and other areas.