Undergraduate Women 1999-2000

COMPUTER SCIENCE (COMP)

Back to course index | Back to main index

 

Major: Stern College
COMP 1315C, 1336C, 1502, 1503, 2101C or 3402, 3610 or 3640, 3543, 3544; 9 additional credits in COMP advanced electives chosen with the approval of the discipline advisor; MAT 1412, 1413, 2105.  Recommended: PHY 1041-1042 R&L, 1724.  Students interested in computer hardware should take COMP 2101C and 2146C.  Note also the Computer track of the Mathematics major.

Minor: Stern College
COMP 1315C, 1336C, 1502, 3543 and 6 additional credits in COMP electives approved by the discipline adviser; MAT 1412, 1413.

1010C Introduction to Computers and Their Applications. 3 hours of lecture. 2 hours of lab. 3 credits.
Computer hardware, software, and firmware; personal productivity software: wordprocessing, graphics, and spreadsheets; data-base management systems and programming languages. May not be used for the Computer Science major or minor.

1115C Introduction to Computer Applications and Programming. 3 hours of lecture. 2 hours of lab. 3 credits.
Windowstm  operating system, basic concepts and techniques of an office productivity suite. Microsoft OFFICE Professional.  Fundamentals of problem solving using computers.  Visual Basic for Applications as a basis for extending and customizing the basic applications.  Extending Workgroup computing to the Internet.

1315C Introduction to Computer Science and Programming I. 3 hours of lecture. 2 hours of lab. 3 credits.
Components of a computer system; machine, assembly, and high-level languages; numerical systems and coding; representation of data and instructions; data types, constants, variables; arithmetic expressions; logical expressions; assignment statement; sequencing, alteration, and iteration; arrays, subprograms, and parameters; simple I/O; techniques of problem solving; flowcharting; stepwise refinement; simple numerical examples; basic search and sort algorithms.

1336C Introduction to Computer Science and Programming II. 3 hours of lecture. 2 hours of lab. 3 credits.
Principles of good programming style, expression, and documentation; control flow; invariant relation of a loop; stepwise refinement of statements and data structures or top-down programming; string processing; concatenation, substrings, matching; internal searching and sorting; recursion; linked lists and linear allocation (stacks, queues, deques).
Prerequisite: COMP 1315C.

1502,1503 Discrete Structures. 3 hours of lecture. 2 hours of lab. 3 credits.
Selected topics from the foundations of computer science: lists, sets, functions and relations; combinatorics and probability; finite state machines and regular expressions; trees and tree transversals; context free grammars; graph theory and algorithms; boolean algebra and logic; gates and circuits.

1621 Theory of Computation. 3 credits.
Deterministic and nondeterministic finite state automata; regular grammars and regular expressions; languages generated by regular expressions; equivalence of regular expressions and finite automata; solvable problems concerning finite automata; context-free grammars; languages generated by context-free grammars; derivation trees; simplification of context-free grammars; push-down automata; properties of context-free languages; solvable and unsolvable problems concerning context-free languages; Turing machine model; Universal Turing machine; Halting problem; further examples of solvable and unsolvable problems about Turing machines, grammars, and sets.
Prerequisite: COMP 1503.

1622 Formal Languages. 3 credits.
Formal grammars; Chomsky hierarchy; deterministic and nondeterministic models of finite automata, push-down automata, linear bounded automata, and Turing machines; relationship between formal languages and automata; decision problems; closure properties; solvable and unsolvable problems; applications to parsing.
Prerequisite: COMP 1502, 1821, and 3640.

1821 Computability. 3 credits.
Functions computable by problems; simulation and diagonalization; Godel numbering and unsolvability results; Halting problem; Post's correspondence problem; recursion theorem; Ackerman's function; abstract complexity and the speed-up theorem; Tue and Norman systems.
Prerequisite: COMP 1502 and 3640.

2101C Introduction to Computer Organization. 2 hours of lecture. 3 hours of laboratory. 3 credits.
Representation of both data and control information by digital signals; logical devices for processing (gates) and storing (flipflops) information; description by truth tables, Boolean functions, and timing diagrams; analysis and synthesis of combinatorial networks of gates; parallel and serial registers; simple synchronous control mechanisms; data and address bases; addressing and accessing methods; memory segmentation; methods of timing pulse generation; common coding schemes; encoders, decoders, converters; memory, control, processing and I/O units. Coordinated laboratory work in digital logic.
Prerequisite or corequisite: COMP 1336C.

2108 Operating Systems. 3 credits.
Review of I/O and interrupt structures, addressing schemas, and memory management; concurrent processes; name management; resource allocation; protection; advanced architecture and operating systems implementations.
Prerequisite: COMP 3610C.
Prerequisite or corequisite: STA 1021 or 1320.

2117 Hardware Theory. 3 credits.
Arithmetic unit design, number systems, and codes; logic circuits; control unit; realization of parallel process in hardware; multiprocessing; distributed computing and fault-tolerant design; vector machines; gate networks; minimization of combinatorial switching circuits; symmetric networks, threshold networks, sequential networks; memory; interrupts and locks; microcomputer design.
Prerequisite: COMP 1502 and 3610C.

2146C Minicomputer and Microcomputer Systems. 1 hour of lecture. 3 hours of laboratory. 3 credits.
Real-time programming on a dedicated computer, microprocessors, data communication protocol, packet switching.
Prerequisite: COMP 2101 or permission of the instructor.

2512. Networking and Communication. 3 credits.
Fundamentals of networking and communications.  Network concepts, hardware, software and programming.  Data communications, wide and local area networks.  Communications architecture and protocols. Network programming in C/C++ and JAVA.

3402 Introduction to Computer Systems. 3 credits.
Machine instruction types and formats; fetch-execute cycle; I/O operations; mnemonic operations; symbolic addresses; assembler concepts and instruction format; data-work definition; literals; location counter; error flags and messages; implementation of high-level language constructs and addressing techniques.
Prerequisite or corequisite: COMP 1336C.

3511 Algorithmic Processes. 3 credits.
Design of algorithms and applications of data structure permutations, polynomials, derivations, matrices, sorting, discrete simulation; list-marking, garbage collection, analysis of algorithms; space and time efficiency; comparison of sorting techniques; discrete Fourier Transform; pattern matching; computational models, Turing machines, complex hierarchies.
Prerequisite: COMP 1315C; 1336C; 2101; 3402 or permission of the instructor.

3543, 3544 Data Structures and Algorithms I, II. 3 credits.
Elementary data structures; algorithms for their manipulation; file structures and algorithms; searching and sorting; more complex data structures and algorithms for their manipulation; notions of algorithm complexity; memory and data management systems.
Prerequisite: COMP 1336C.

3563 Data-Base Systems. 3 credits.
Goals of DBMS, including data independence, relationships, logical and physical organization, schema and subschema; hierarchical, network, and relational modes; examples of implementation of various models; first, second, and third normal forms of data relations; canonical schema; data independence; data description languages: forms, applications, examples, design strategies; query facilities: relational algebra, calculus, data structures for establishing relations; query functions; file organization; index organization; file security; data integrity and reliability.
Prerequisite: COMP 3544; 3610C.

3610 Introduction to Operating Systems and Computer Architecture. 3 credits.
Review of instruction sets. I/O and interrupts, addressing schemes, microprogramming; dynamic procedure activation; dynamic storage allocation; design methodology, monitors, kernels, networks of operating system modules; elementary queuing; memory management: virtual memory, paging, segmentation; memory protection; multiprogramming.
Prerequisite: COMP 2101; 3402. Recommended: COMP 3543.

3640 Programming Languages. 3 credits.
Formal language concepts, including
basic characteristics of syntax and grammars; regular, context-free, and ambiguous grammars; constructs for specifying and manipulating data types; language features affecting static and dynamic storage management; control structures and data flow; subroutines, procedures, block structures, interrupts, decision tables, recursion; relationship with good programming style; run-time considerations; interpretative languages, lexical analysis and parsing.
Prerequisite: COMP 1336C (3402 and 3543 are highly recommended).

3645 Compiler Theory. 3 credits.
Grammars, languages, and their syntax and semantics; parsing and ambiguity; scanners; implementation of symbol tables; parsers; major parsing algorithms; techniques for machine-independent code generation; code optimization; syntax-directed translation schema.
Prerequisite: COMP 3640.

3760 Artificial Intelligence. 3 credits.
Heuristic vs. algorithmic methods; cognitive processes; investigation of methods of making machines behave intelligently; problem solving; theorem probing; game playing; pattern recognition; question answering; learning self-organization; methods of programming such procedures; data structures and program organization; mind-brain problem and the nature of intelligence.
Prerequisite: COMP 3544.

3764 Expert Systems. 3 credits.
Introduction to expert systems; components of an ideal expert system: knowledge base, rules, interpreter; secondary components: justifier, scheduler, consistency enforcer, blackboard; search space size, exhaustive search, single line of reasoning, hierarchical, generate and test, combining evidence from multiple sources; utilizing metaknowledge; metarules and their source; detecting simple errors in rules; justification of rules; expert system tools: EMYCIN, OPS5, HEARSAY—III.
Prerequisite: COMP 3544.

3772 Computer Graphics. 3 credits.
Software, hardware, and mathematical tools for the representation, manipulation, and display of topological and two- and three-dimensional objects; display devices; problems and objectives of computer graphics; point, vector, curve, and character generation; interactive vs. passive graphics; graphics data structures, graphics packages and graphics languages; two-dimensional graphics: generation, transformation, window clipping, segmented display files and display procedures; interactive graphics: input devices, input techniques, event handling, and input functions; raster graphics fundamentals; three-dimensional graphics: hidden-line problems, windowing, transformations, perspective projections, and shading.
Prerequisite: COMP 1336C, 1502, and 3544.

4541 Numerical Analysis. 3 credits.
Arithmetic and precision; finite difference calculus; interpolation; approximation: numerical integration and differentiation; solution of nonlinear equations, differential equations; linear systems of equations; iterative methods; computation of eigenvalues and eigenvectors.
Prerequisite: COMP 1336C; MATH 1413.

4901, 4902 Independent Study
See Academic Regulations section.

4911, 4912 Honors
See Academic Regulations section.

back to top

 

Last Updated 07/23/2002 © Yeshiva University