Courses
   

 


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