|
|
|
|
Computer Sciences (COM)
Major: Yeshiva and Stern CollegesThe course requirements for the major are as follows:
Recommended: PHY 1041-1042 R&L, 1724. Students interested in computer hardware should take COM 2101C and 2146C. Note also the Computer track of the Mathematics major.
Minor: Yeshiva and Stern CollegesCOM 1315C, 1336C, 1502, 3543 and 6 additional credits in COM electives approved by the discipline adviser; MAT 1412, 1413.
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 Sciences major or minor.
This course is offered at SCW only.
1107C Computers, Change, and Chance (2-3-3)
Designed to satisfy the "quantitative skills" requirement
of Yeshiva College. The elements of computer programming are learned
and applied to the study of such topics as population growth and
random behavior.
1315C Introduction to Computer Science and Programming I (3-2-3)
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-2-3)
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).
1502, 1503 Discrete Structures (3-0-3)
Sets and relations; logic and gates; elementary number theory,
combinatorics, and probability; graph theory; linear algebra,
applications.
1621 Theory of Computation (3-0-3)
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.
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.
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.
2101C Introduction to Computer Organization (2-3-3)
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.
2108 Operating Systems (3-0-3)
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.
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.
2146C Minicomputer and Microcomputer Systems (1-3-3)
Real-time programming on a dedicated computer, microprocessors,
data communication protocol, packet switching.
3110C; 3120C Programming in Procedure-Oriented Languages (2-2-3)
Higher-level programming languages; first semester: Fortran IV;
second semester: Cobol; applications to statistics, nonnumerical
data processing, or other topics of interest to the class. May
not be taken after COM 1315C. Not for Computer Sciences majors.
3402 Introduction to Computer Systems (3-0-3)
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.
3511 Algorithmic Processes (3-0-3)
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.
3543, 3544 Data Structures and Algorithms I, II (3-0-3)
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.
3563 Data-Base Systems (3-0-3)
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.
3610 Introduction to Operating Systems and Computer Architecture (3-0-3)
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.
3640 Programming Languages (3-0-3)
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.
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.
3760 Artificial Intelligence (3-0-3)
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; mindbrain problem and
the nature of intelligence.
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.
3772 Computer Graphics (3-0-3)
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.
3901L; 3902L; 3903L; 3904L Self-Study of Programming Languages (0-2-1)
Cobol, Fortran, PL/I, Pascal, C, Algol, Basic, APL, Lisp, Snobol.
3905; 3906; 3907; 3908; 3909 Individual and Group Projects (1-3 credits per semester)
A number of term projects agreed upon by the faculty and students
can be chosen.
4541 Numerical Analysis (3-0-3)
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.
4901, 4902 Independent Study
For the description of this course, see page 20.
4911, 4912 Honors
For the description of this course, see page 20.
|
|
Last Updated 07/23/2002 © Yeshiva University |