|
Course: |
Course
Number: |
Introduction
to Computer Science with Applications |
4
|
|
Description: |
A course for
non-majors that introduces the elements, terminology and concepts
of computer science. Concepts of commercial software packages such
as spreadsheets and databases are introduced with some hands on use.
The computer, its operations, hardware-software considerations, comparitive
operating systems and social implications are discussed. No liberal
arts credit. |
Prerequisites:
|
Credits:
|
Introduction
to Computer Science with Applications |
3 |
|
|
Course: |
Course
Number: |
Overview
of Computer Science |
5 |
|
Description: |
Computers, algorithms
and programming; computer hardware and software systems. Pascal programming
of numerical and non-numerical algorithms. Survey of computer applications.
Brief history of computer science; computers and society. Credit given
for this course or New College ISGG 1, not both. May not be taken
after CSC 15. (Formerly Introduction to Computer Science.) |
Prerequisites:
|
Credits:
|
None |
3 |
|
|
Course: |
Course
Number: |
C for Programmers |
12 |
|
Description: |
The essential
features of C are examined for those already having knowledge of a
high-level language. (Formerly FORTRAN 77 Overview; FORTRAN 77 for
PL/1 Users.) |
Prerequisites:
|
Credits:
|
None |
1 |
|
|
Course: |
Course
Number: |
Ada Overview |
13 |
|
Description: |
An accelerated
treatment of Ada for those having a good knowledge of at least one
procedural language such as PL/1, FORTRAN, C, or Pascal. Special attention
given to the unconventional part of Ada such as data encapsulation,
exception handling, concurrency and generic subprograms. Included
are conditional execution, type declarations, numeric types, arrays,
records, subprograms, access types, packages and files. (Formerly
Ada for PL/1 or FORTRAN Users.) |
Prerequisites:
|
Credits:
|
CSC 15 |
1 |
|
|
Course: |
Course
Number: |
Discrete
Structures |
14 |
|
Description: |
Review of propositional
and predicate logic. Methods of theorem proving; strong and weak induction.
Finite and infinite sets, set operations. Functions, including surjections,
injections, bijections. Equivalence relations and partial orderings.
Matrices and matrix operations. Combinatorics, including permutations
and combinations. Graphs, including simple graphs, directed graphs,
trees, Euler circuits, Hamilton circuits. Introductions to computational
complexity, big-O notation, intractibility. Introduction to recurrence
relations. (3 hours lecture, 1 hour laboratory.) Credit given for
this course or New College NM3, or MATH 14. |
Prerequisites:
|
Credits:
|
CSC 15,
MATH 11 or Three years of high school math |
3 |
|
|
Course: |
Course
Number: |
Fundamentals
of Computer Science I |
15 |
|
Description: |
Introduction
to computer science which emphasizes problem solving, algorithms and
the principles of algorithm construction. C language is used as a
vehicle for implementing these principles. Topics include arrays,
loops, character strings and subprograms. Programming required. Course
follows the current ACM recommended curriculum for "CS1." |
Prerequisites:
|
Credits:
|
CSC 5 or
Familiarity with programming |
3 |
|
|
Course: |
Course
Number: |
Fundamentals
of Computer Science II |
16 |
|
Description: |
Continuation
of 15 using C to implement topics such as subroutines, software development,
files, arrays (searching and sorting), stacks, queues, linked lists.
Programming required. Course follows the current ACM recommended curriculum
for "CS2." |
Prerequisites:
|
Credits:
|
CSC 15 |
3 |
|
|
Course: |
Course
Number: |
Logical
Design and Digital Circuits |
32 |
|
Description: |
Introduction
to switching theory and the design of logical networks. Review of
number systems and codes. The formulation of logical equations and
their realization in hardware. Binary arithmetic and its implementation
with logical functions. Combinational and sequential logic networks
are studied. These digital principles are applied to the study of
registers, counters and information processing systems. Same as ENGG
32A. |
Prerequisites:
|
Credits:
|
Permission
of instructor |
3 |
|
|
Course: |
Course
Number: |
Numerical
Methods |
102 |
|
Description: |
Computational
methods useful with modern electric computers. Root of algebraic and
transcendental equations. Matrices; solution of linear algebraic equations
by matrix methods, iteration and relaxation. Homogenuous equations
and eigen-value problems. Taylor's Series, finite differences. Numerical
integration, interpolation and extrapolation. Solution of initial
and boundary value ordinary differential equations. Programming of
selected problems in engineering and applied science. Same as ENGG
101 and MATH 147. |
Prerequisites:
|
Credits:
|
CSC 15
or ENGG 10 |
3 |
|
|
Course: |
Course
Number: |
Introduction
to Computer Architecture |
110 |
|
Description: |
Internal structure
of computers. Logic design: Boolean algebra, gates and flip-flops,
synthesis of combinatorial networks, registers, serial and parallel
organization, control mechanisms. Number systems and arithmetic, two's-complement
arithmetic. Operating cycle, data and control flow in a typical computer.
Interrupts, i/o devices, programmed i/o and DMA. |
Prerequisites:
|
Credits:
|
CSC 14,
CSC 16 |
3 |
|
|
Course: |
Course
Number: |
Computer
Architecture Laboratory |
110A |
|
Description: |
Provides hands-on
experience in using digital electronics by way of integrated circuits
without engineering bias. Offers practical construction, testing and
implementation of circuits useful in digital circuits and modules.
Same as ENGG 32B. |
Prerequisites:
|
Credits:
|
CSC 110,
ENGG 32B |
1 |
|
|
Course: |
Course
Number: |
Assembly
Language Programming |
111 |
|
Description: |
Organization
of a computer: memory, addressing; number systems and conversion.
Assemblers, base registers, relocation. Fixed-point numeric processing,
string processing, indexing and iteration. Floating-point arithmetic
and Boolean operations. Subroutines, macros, i/o channel programming. |
Prerequisites:
|
Credits:
|
CSC 14,
CSC 16 or ENGG 10 or BCIS 50 |
3 |
|
|
Course: |
Course
Number: |
Computer
Operating System |
112 |
|
Description: |
A study of the
internal design of operating systems. Topics include memory management,
multiprogramming, virtual memory, paging and segmentation. Job and
process scheduling; multiprocessor systems; device and file management;
thrashing, cache memory. |
Prerequisites:
|
Credits:
|
CSC 110,
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Algorithms
and Data Structures |
120 |
|
Description: |
The study of
sequential and linked representations of data structures for linear
lists including stacks and queues, structures, arrays and trees. Fundamental
algorithms and their implementation using a block-structured language
such as C relating to sorting, searching, merging, hashing, graph
theoretic models and recursive procedures. (Formerly Data Structures.) |
Prerequisites:
|
Credits:
|
CSC 14,
CSC 16 |
3 |
|
|
Course: |
Course
Number: |
Programming
Languages: Survey, Design and Implementation |
123 |
|
Description: |
A study of the
fundamental principles that distinguish the major families of modern
programming languages. Syntax and the BNF, memory allocation and semantics
of static, stack-based and dynamic languages, abstract data types,
advanced control structures. Some programming in a logic-based language
such as PROLOG. (Formerly Algorithmic Languages.) |
Prerequisites:
|
Credits:
|
CSC 161 |
3 |
|
|
Course: |
Course
Number: |
Compiler
Construction |
124 |
|
Description: |
Design and implementation
of compilers for C, Pascal and ALGOL type languages. Lexical scanning,
parsing techniques, semantic analysis and intermediate code generation,
optimization techniques, target code generation. Management of symbol
table; error handling. Programming required. |
Prerequisites:
|
Credits:
|
CSC 123 |
3 |
|
|
Course: |
Course
Number: |
Computational
Modeling |
132 |
|
Description: |
Fundamental principles
of modeling and simulation. Methodology including model formation,
design of simulation experiments, analysis of generated data and validation
of results. Survey of applications. Project chosen from area of student's
interest. |
Prerequisites:
|
Credits:
|
CSC 15,
CSC or ENGG 185 |
3 |
|
|
Course: |
Course
Number: |
Projects
in Computer Science (1) |
143 |
|
Description: |
Individual or
group projects on selected topics such as the design of computer software
or applications programs. |
Prerequisites:
|
Credits:
|
senior
standing & permission of project advisor |
3 |
|
|
Course: |
Course
Number: |
Projects
in Computer Science (2) |
144 |
|
Description: |
Individual or
group projects on selected topics such as the design of computer software
or applications programs. |
Prerequisites:
|
Credits:
|
senior
standing & permission of project advisor |
3 |
|
|
Course: |
Course
Number: |
Special
Studies |
145 |
|
Description: |
Topics are chosen
from areas of current interest that are not covered in existing course
offerings. Subjects are announced annually. May be repeated for credit
when topics vary. |
Prerequisites:
|
Credits:
|
junior
standing & requirement for current topic |
3 |
|
|
Course: |
Course
Number: |
Unix and
C++ |
155 |
|
Description: |
Introduction
to the UNIX System V. UNIX file systems, processes, commands, shells;
syntax and semantics of the C++ language; portability; C++ library;
C-UNIX interface; programmer's workbench; documenters' workbench. |
Prerequisites:
|
Credits:
|
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Introduction
to Artificial Intelligence |
158 |
|
Description: |
Survey of concepts
and problems of computers performing tasks which traditionally require
human intelligence. Topics include heuristic search and robotics,
pattern recognition, game playing, theorem proving, question-answer
systems and natural language processing. |
Prerequisites:
|
Credits:
|
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Introduction
to Automata Theory |
161 |
|
Description: |
Definition and
representation of various types of automata such as finite and probabilistic
automata. Representation of automata by state graphs, logical nets
and Turing machines. Computability theory and decision problems of
automata. |
Prerequisites:
|
Credits:
|
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Computing,
Ethics, and Society |
163 |
|
Description: |
Critical examnination
of ethical problems associated with computer technology. Discussion
of these problems is conducted within the framework of classical philosophical
ethical theories. Legal and quasi-legal(i.e., policy and regulative)
issues are also considered. Topics addressed include the process of
ethical decision-making, privacy and confidentiality, computer crime,
professional codes and responsibilities, software piracy, the impact
of computers on society. No liberal arts credit. |
Prerequisites:
|
Credits:
|
PHIL 9;
CSC 4, CSC 5 or CSC 15 |
1 |
|
|
Course: |
Course
Number: |
Principles
of Database Management |
170 |
|
Description: |
Introduction
to data modelling, databases, data management systems and query languages.
Hierarchical, network and relational models. The ANSI/SPARC architecture
and conceptual schemas. Entity-attribute construction. Existing systems:
IMS, IDMS, DB2, FOCUS, ORACLE, Ingres, SQL; relational algebra and
normalization; database design. |
Prerequisites:
|
Credits:
|
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Introduction
to Computer Graphics |
171A |
|
Description: |
Fundamentals
of two-dimensional modern interactive graphics: hardware technologies,
software, data structures, mathematical manipulation of graphical
objects, the user interface and the fundamental implementation of
algorithms. |
Prerequisites:
|
Credits:
|
CSC 120,
MATH 19 |
3 |
|
|
Course: |
Course
Number: |
Principles
of Data Communication |
175 |
|
Description: |
A technical introduction
to data communication. Topics include the OSI Reference Model, layer
services, protocols, LANs, packet switching and X.25, ISDN, File transfer,
virtual terminals, system management and distributed processing. |
Prerequisites:
|
Credits:
|
CSC 120,
MATH 19 |
3 |
|
|
Course: |
Course
Number: |
Methods
of Random Process |
185 |
|
Description: |
Systematic development
of the concept of probability and random process theory. Topics include
probability and set theory, random variables, density and distribution
functions, multivariate distributions, sampling statistics and distributions,
central limit theorem, estimation and the philosophy of applied statistics.
The material covered is applied to problems in engineering and the
physical sciences. Same as ENGG 185. |
Prerequisites:
|
Credits:
|
MATH 20,
CSC 16 |
3 |
|
|
Course: |
Course
Number: |
Design
and Analysis Experiments |
186 |
|
Description: |
Introduction
to the principles and economics of experimental design and statistical
analysis. Emphasis on designs and applications useful in scientific
research and management science. Topics include inferences concerning
one or more means, variances and proportions; regression and correlation;
stratified samplying and analysis of variance; non parametric testing
and factorial experiments. Computer solutions of problems are required.
Same as ENGG 186. |
Prerequisites:
|
Credits:
|
CSC 185,
CSC 15 |
3 |
|
|
Course: |
Course
Number: |
Linear
Programming |
187 |
|
Description: |
Elements of matrix
algebra, vector spaces and convex sets pertinent to the theory and
application of linear programming (LP) models. Development of the
simplex method and duality theory. The nature of solutions to systems
of linear equations are related to LP complications and their resolution.
Applications are extended to include the generalized LP problem, transportation,
assignment and network problems. |
Prerequisites:
|
Credits:
|
MATH 20,
CSC 16 |
3 |
|
|
Course: |
Course
Number: |
Software
Engineering: Theory and Practice |
190 |
|
Description: |
A capstone course
for computer science majors which applies concepts learned throughout
the curriculum. Students study the nature of the program development
task when many people, module and versions are involved in designing,
developing and maintaining a large program or system. Issues addressed
include program design, specification, version control, cost estimation
and management. Students work in small teams on the cooperative examination
and modification of existing systems. (Formerly Project in Software
Engineering.) |
Prerequisites:
|
Credits:
|
senior
status or permission of deparment chairperson |
3 |
|
|
Course: |
Course
Number: |
Computer
Science Intership I |
195 |
|
Description: |
Internship course
for qualified senior computer science majors. Students work approximately
one day per week with a participating industry or research concern
and are jointly supervised by department chairperson and is dependent
on student's record and availability of placement. |
Prerequisites:
|
Credits:
|
permission
of deparment chairperson |
3 |
|
|
Course: |
Course
Number: |
Computer
Science Intership II |
196 |
|
Description: |
Internship course
for qualified senior computer science majors. Students work approximately
one day per week with a participating industry or research concern
and are jointly supervised by department chairperson and is dependent
on student's record and availability of placement. |
Prerequisites:
|
Credits:
|
permission
of deparment chairperson |
3 |
|
|
Course: |
Course
Number: |
Themes
of Computer Science |
200A |
|
Description: |
Designed as a
transition course for those students who wish to do graduate work
in computer science but who need additional preparation. Covers such
topics as theoretical foundations, logic, induction, scientific models
and formal aspects of programming. May not be taken on a Pass/Fail
basis. No credit toward the M.A. or M.S. degree in Computer Science. |
Prerequisites:
|
Credits:
|
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Mathematical
Logic |
201A |
|
Description: |
The propositional
calculus: truth tables and axiomatizations. First order theories:
completeness theorem, formal number theory, Godel's incompleteness
theorem. Same as MATH 202. |
Prerequisites:
|
Credits:
|
MATH 145
or CSC 161 |
3 |
|
|
Course: |
Course
Number: |
Logic Application
to Software |
201B |
|
Description: |
Application of
predicate logic and nontruth functional logics to software design
and use. Logic programming (PROLOG), database and telecommunications
schemata, query analysis, correctness proofs for subroutines, operating
system kernels, security. Finite state machines and temporal logic
applied to protocol specification. |
Prerequisites:
|
Credits:
|
CSC 201A
or MATH 202 |
3 |
|
|
Course: |
Course
Number: |
Computability |
202 |
|
Description: |
Mathematical
language of theoretical computer science (sets, n-tuples, relations,
functions, languages, predicates, quantifiers, proof methods such
as induction, diagonalization and the pigeonhole principle). The equivalence
of various models of computation (Church's Thesis): Turing machines,
extended Turing machines, nondeterministic Turing machines, the m-recursive
functions. Primitive recursive functions, Godel numbering, the halting
problem, other unsolvable problems as time permits. Recursive sets
and recursively enumerable sets. |
Prerequisites:
|
Credits:
|
CSC 161 |
3 |
|
|
Course: |
Course
Number: |
Algorithms
I: Sorting and Searching |
204 |
|
Description: |
Basic techniques
for estimating the efficiency of algorithms. Searching algorithms:
sequential, binary, Fibonacci, tree search, tries, hashing (study
of several hash functions). Sorting algorithms: heapsort, mergesort,
quicksort, binsort. Balanced trees: AVL trees, Hoffman's algorithm.
Equivalence relations and compressed balanced trees. Topological sorting.
External sorting: merge sorting, multiway merge, B-trees (2-3 trees,
5-way trees). |
Prerequisites:
|
Credits:
|
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Algorithms
II: combinatorial Algorithms |
205 |
|
Description: |
String and pattern
matching algorithms. Maximum flow. Other graph algorithms: spanning
trees, shortest path, transitive closure, biconnectivity, strong connectivity,
and the like. Fast median algorithm. Fast matrix multiplication. Fast
matrix inversion. |
Prerequisites:
|
Credits:
|
CSC
120 |
3 |
|
|
Course: |
Course
Number: |
Analysis
of Algorithms and Complexity Theory |
206 |
|
Description: |
Asymptotics,
recurrence relations, lower bound theory including comparison trees
for sorting and searching. Oracles. Lower bounds on parallel computation.
Combinatorial optimization. Branch and bound: Knapsack problem, FFT
and applications. Integer and polynomial arithmetic. Analysis of divide
and conquer algorithms, dynamic programming, greedy algorithms, backtracking.
Nondeterministic algorithms. The classes P and NP. NP completeness.
Complexity hierarchy. |
Prerequisites:
|
Credits:
|
CSC 161 |
3 |
|
|
Course: |
Course
Number: |
Advanced
Data Structures |
207 |
|
Description: |
Managing multiple
stacks and queues. Stack series. Permutations obtainable from stacks
and queues. Concatenatable queues. Locating repeated substrings: an
application of stacks. Stack and queue operation sequences. Set representation
methods. The union-find algorithm. Trees: Robson traversal, Lindstrom
scanning, Siklossy traversal. Generalized lists. Mergeable heaps.
Files as a data structure. Storage compaction. Garbage collection. |
Prerequisites:
|
Credits:
|
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Formal
Languages, Grammars and Automata |
208 |
|
Description: |
Languages, the
grammars that generate them and the machines that accept them. Regular
languages. Finite automata- deterministic and nondeterministic. Transition
functions and state diagrams. Context-free languages and pushdown
automata. Context-free grammars and compiler design. Context-sensitive
languages and linear-bounded automata. Closure results. |
Prerequisites:
|
Credits:
|
CSC 161 |
3 |
|
|
Course: |
Course
Number: |
Database
Design II |
212 |
|
Description: |
Advanced aspects
of the IMS data model and data sublanguage. A study of the network
database design including the COADASYL DBTG system. A comparative
analysis of the relational, hierarchical and network approaches to
database design. |
Prerequisites:
|
Credits:
|
CSC 254 |
3 |
|
|
Course: |
Course
Number: |
Computer
Modeling |
214 |
|
Description: |
Construction
of models for computer simulation of real systems. Application of
probability and distribution theory, statistical estimation techniques,
Monte Carlo methods. Application of modeling to large-scale political
and social systems. Implementation on computer using various simulation
languages. Pass/Fail option for nonmajors only. Credit given for this
course or CSC 132, not both. (Formerly Advanced Computer Modeling.) |
Prerequisites:
|
Credits:
|
CSC 16,
CSC 185 |
3 |
|
|
Course: |
Course
Number: |
Quantitative
Approaches to Decision Making |
216 |
|
Description: |
The role of operations
research and management science in the decision-making process integrated
with the development and use of computer programs for problem solving.
Topics include network analysis, decision theory, inventory models,
waiting line models, dynamic programming, Markov processes, and parametric
and integer programming. No credit toward the M.S. degree in Computer
Science. |
Prerequisites:
|
Credits:
|
CSC 185 |
3 |
|
|
Course: |
Course
Number: |
Compiler
Construction II |
226 |
|
Description: |
Formal grammars
and passing methods. Recursive descent, simple and higher order precedence,
LR (k) parsers. The mathematical theory of global program optimization.
Flow graphs, intervals, dataflow analysis dependency and redundancy
equations. Loop optimization. No credit toward the M.S. degree in
Computer Science. |
Prerequisites:
|
Credits:
|
CSC 185 |
3 |
|
|
Course: |
Course
Number: |
Survey
of Programming Languages |
252 |
|
Description: |
Survey and comparative
analysis of high-level languages such as PL/1, FORTRAN, SNOBOL, LISP,
APL, Pascal, ALGOL, C, Ada, SETL, with emphasis on special features.
Consideration of data types, control structures, storage allocation
and other programming language constructs. Credit given for this course
or CSC 123, not both. |
Prerequisites:
|
Credits:
|
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Design
of Programming Languages |
253 |
|
Description: |
Topics include:
libraries, subroutines, parameter transmission, data abstraction,
exception handling, design and implementation of Ada, Simula 67, SETL.
Concurrency, input-output, functional programming, dataflow programming
languages, VAL, object-oriented programming languages. |
Prerequisites:
|
Credits:
|
CSC 207,
CSC 252 or CSC 123 or CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Database
Design |
254 |
|
Description: |
Study current
methods of information system design. Data independence, data models
and sublanguages. An overview of the hierarchial, relational and network
approaches to database design. An in-depth study of the relational
database design. |
Prerequisites:
|
Credits:
|
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Database
Laboratory |
255 |
|
Description: |
Engineering aspects
of database systems. Students create a database system using a data
definition language and manipulate it using a data manipulation language
(query language). |
Prerequisites:
|
Credits:
|
CSC 254 |
3 |
|
|
Course: |
Course
Number: |
Advanced
Operating Systems Design |
256 |
|
Description: |
Analytical models
of operating systems. An examination of the major models that have
been used to study operating systems and the computer systems which
they manage. Petri nets, dataflow diagrams and other models of parallel
behavior are studied. Introduction to the fundamentals of queuing
theory. |
Prerequisites:
|
Credits:
|
CSC 112 |
3 |
|
|
Course: |
Course
Number: |
Compiler
Construction |
258 |
|
Description: |
Design and implementation
of compilers for Pascal and ALGOL-type languages. Lexical scanning,
symbol tables, BNF grammars, parsing techniques. Error detection and
diagnostics. Data representation, data structures, run-time storage
organization and dynamic storage allocation. Semantic routines, internal
forms, code generation and optimization techniques. Credit given for
this course or CSC 124, not both. |
Prerequisites:
|
Credits:
|
CSC 110,
CSC 161 |
3 |
|
|
Course: |
Course
Number: |
Compiler
Construction Laboratory |
259 |
|
Description: |
Hands-on experience
writing and debugging lexical analysis and parsing phases of compilers.
Memory management: stacks and heaps. Dataflow analysis, error handling
and patching. High-performance compilers. |
Prerequisites:
|
Credits:
|
CSC 258 |
3 |
|
|
Course: |
Course
Number: |
Conbinatorics
and Graph Theory |
260 |
|
Description: |
Study of combinatorial
and graphical techniques for complexity analysis including generating
functions, recurrence relations, Polya's theory of counting, planar
directed and undirected graphs, and NP-complete problems. Applications
of the techniques to analysis of algorithms in graph theory, and sorting
and searching. |
Prerequisites:
|
Credits:
|
CSC 205 |
3 |
|
|
Course: |
Course
Number: |
Numerical
Methods I: Analysis |
265 |
|
Description: |
Floating-point
arithmetic. Finite-difference calculus. Polynomial, inverse, spline
interpolation. Approximation: least- squares, poly-nomial, Chebyshev,
rational functions. Numerical integration and differentiation. Solution
of nonlinear equations. Solution of ordinary differential equations.
Same as MATH 265. |
Prerequisites:
|
Credits:
|
CSC 102
or ENGG 101 or MATH 147 |
3 |
|
|
Course: |
Course
Number: |
Numerical
Methods II: Linear Algebra |
267 |
|
Description: |
Review of linear
algebra. Direct methods for linear equations. Norms, condition numbers,
error analysis. Relaxation and iterative methods. Solution of eigenvalue
problems. Boundary-value problems and overdetermined systems. |
Prerequisites:
|
Credits:
|
CSC 265 |
3 |
|
|
Course: |
Course
Number: |
Computer
Graphics |
269 |
|
Description: |
Survey of the
hardware, software and techniques used in computer graphics. Three
types of graphics hardware: refresh, storage and raster scan. Two-dimensional
transformation, clipping, windowing, display files, input devices.
Three- dimensional graphics covered as time permits. |
Prerequisites:
|
Credits:
|
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Artificial
Intelligence I |
270 |
|
Description: |
Goals of artificial
intelligence, state-space search methods, optimal search, chronological
backtracking, dependency-directed backtracking, BLOCKSWORLD, and/or
trees and goals, question- answering, production systems, expert system
examples, minimaxing with alpha-beta pruning and game playing. Control
paradigms, GPS, geometric analogies, SOUNDEX code, propagating numeric
constraints, inductive inference and computer learning, introduction
to mechanical theorem proving for the propositional logic. |
Prerequisites:
|
Credits:
|
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Artificial
Intelligence II |
271 |
|
Description: |
Rigorous study
of optimal search methods, decomposable and commutative production
systems, mechanical theorem proving for the predicate logic, skolem
functions, more on computer learning, introduction to LISP, pattern
matching, introduction to natural language processing, use of logic
in problem-solving and problem representation, readings from the literature. |
Prerequisites:
|
Credits:
|
CSC 270 |
3 |
|
|
Course: |
Course
Number: |
Natural
Language Processing |
274 |
|
Description: |
Study of NLP
systems such as question-answering systems, dialogue systems, paraphrasing
and summarizing systems, etc. Transformational grammars, augmented
transition networks, frames, semantics, logic in NLP. The computational
applicability of various linguistic frameworks. |
Prerequisites:
|
Credits:
|
CSC 270 |
3 |
|
|
Course: |
Course
Number: |
Pattern
Recognition |
275 |
|
Description: |
Feature evaluation,
selection and extraction; similarity measures and classifications.
Maximum likelihood, minimax procedures. Data structures for recognition.
Applications to image and character recognition, chemical analysis,
speech and voice recognition, automated medical diagnosis. |
Prerequisites:
|
Credits:
|
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Robotics |
276 |
|
Description: |
Surveys geometrical,
kinematic, dynamic and software issues relating to the design and
use of robot manipulators. Motion in three-dimensional space, force
sensors, LED sensors, robot programming languages, (e.g., AML) and
parts assembly using robots. Experimental research involving robot
sensors of various kinds. |
Prerequisites:
|
Credits:
|
MATH 29,
CSC 120 |
3 |
|
|
Course: |
Course
Number: |
Expert
Systems |
278 |
|
Description: |
Survey of existing
expert systems and the principles that underlie them. Production systems,
problem-solving systems. Representation of knowledge, including data
structures for knowledge representation. Machine learning; reasoning
about problems. Programming techniques; introduction to Prolog and
LISP languages; expert-system generators. |
Prerequisites:
|
Credits:
|
CSC 270 |
3 |
|
|
Course: |
Course
Number: |
Computer
Vision |
279 |
|
Description: |
Surveys the tools
used in image formation, mathematical foundations of the Canmar processing
method. Segmented images, texture, pattern recognition, matching,
inference, 2D and 3D structures, relaxation labelling, enhancements
and deblurring. |
Prerequisites:
|
Credits:
|
CSC 270 |
3 |
|
|
Course: |
Course
Number: |
Logic Design
and Switching Theory |
280 |
|
Description: |
Review of Boolean
algebra and combinatorial circuits. Karnaugh maps. Finite-state transducers.
Deterministic and non-deterministic finite-state automata. State minimization,
incompletely-specified machines, testing sequences. Lattices, regular
sets. |
Prerequisites:
|
Credits:
|
CSC 110 |
3 |
|
|
Course: |
Course
Number: |
Real-Time
Systems |
282 |
|
Description: |
A comprehensive
examination of real-time systems from inception to implementation,
focusing on introductory hardware and software concepts, design of
applications programs, function and structure of on-line operating
systems, organization of files and databases. Testing of on-line systems.
Basic theory of data transmission and telecommunications access methods. |
Prerequisites:
|
Credits:
|
CSC 110,
CSC 112 |
3 |
|
|
Course: |
Course
Number: |
Computer
Communication Networks and Distributed Processing |
284 |
|
Description: |
Introduction
to data communication. Standard protocols and methods. Detailed study
of an existing network (e.g., AR- Panet). Problems, techniques and
performance measurements. Problems and methods for distributed processing
and distributed databases. |
Prerequisites:
|
Credits:
|
CSC 112 |
3 |
|
|
Course: |
Course
Number: |
Computer
Organization I |
286 |
|
Description: |
A comparative
analysis of the design and capability of microprocessors, minicomputers
and large scale systems. Multiprocessor systems, distributed systems,
LSI technology, emulators and microprogramming, high speed buffer
storage, parallelisms, pipe-line computers. A review of current and
future trends in computer design. |
Prerequisites:
|
Credits:
|
CSC 110,
CSC 112 |
3 |
|
|
Course: |
Course
Number: |
Computer
Organization II |
287 |
|
Description: |
Design and evaluation
of computer system models. Modelling languages and simulation. Design
automation of digital systems. Memory hierarchies and I/O processing.
Highly parallel architectures; array processors. Use of pipelining
in computer architectures. High-level-language machines. |
Prerequisites:
|
Credits:
|
CSC 286 |
3 |
|
|
Course: |
Course
Number: |
Seminar:
Special Topics |
290 |
|
Description: |
Topics are chosen
from areas of current interest such as micro-processors, minicomputers,
structured programming, computer-resource management, newly released
computer systems, new programming languages, heuristic programming,
automatic-deductive systems, parsing methods, compiler optimization,
theory of computability, formal languages and automata. May be repeated
when topics vary. |
Prerequisites:
|
Credits:
|
permission
of department |
3 |
|
|
Course: |
Course
Number: |
Independent
Projects |
300 |
|
Description: |
Credit given
for this course or CSC 301-302, not both. |
Prerequisites:
|
Credits:
|
|
3 |
|
|
Course: |
Course
Number: |
Thesis
(1) |
301 |
|
Description: |
Advanced project
carried out by the student, under supervision of a faculty member.
An oral presentation is required as well as a written thesis. Credit
given for CSC 300 or 301-302, not both. |
Prerequisites:
|
Credits:
|
|
3 |
|
|
Course: |
Course
Number: |
Thesis
(2) |
302 |
|
Description: |
Advanced project
carried out by the student, under supervision of a faculty member.
An oral presentation is required as well as a written thesis. Credit
given for CSC 300 or 301-302, not both. |
Prerequisites:
|
Credits:
|
|
3 |
|
|