Course Offerings

4. Introduction to Computer Sicence with Applications 3 s.h.
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.

5. Overview of Computer Science 3 s.h.
Fall, Spring
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).

12. C for Programmers 1 s.h.
Periodically.
The essential features of C are examined for those already having knowledge of a high-level language. Prerequisites: knowledge of programming and permission of the instructor. (Formerly FORTRAN 77 Overview; FORTRAN 77 for PL/1 Users.)

13. Ada Overview 1 s.h.
Periodically.
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.
Prerequisite: CSC 15 or permission of department. (Formerly Introductory Ada; Ada for PL/1 or FORTRAN Users.)

14. Discrete Structures 3 s.h.
Fall, Spring
Review of propositional and predicate logic. Different 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, includiing 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 to this course or New College NM3, or Math 14.
Prerequisites: CSC 15 three years of high school mathematics or MATH 11 or permission of department. (Formerly Discrete Mathematics.)

15. Fundamentals of Computer Science I# 3 s.h.
Fall, Spring
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, chacter strings and subprograms. Programming required. Course follows the current ACM recommended curriculum for "CS1".
Prerequisite: High school familiarity with programming or CSC 5. (Formerly PL/I Programming.)

16. Fundamentals of Computer Science II# 3 s.h.
Fall, Spring
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".
Prerequisite: CSC 15 or equivalent.

32. Logical Design and Digital Circuits 3 s.h.
Fall, Spring
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.
Prerequisite: Sophomore standing in the department or permission of instructor.

102. Numerical Methods 3 s.h.
Fall, Spring
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.
Prerequisite: CSC 15 or ENGG 10.
Corequisite: MATH 131.

110. Introduction to Computer Architecture 3 s.h.
Fall
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: CSC 14, CSC 16.

110A. Computer Architecture Laboratory 1 s.h.
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: CSC 110

111. Assembly-Language Programming 3 s.h.
Spring
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: CSC 14, CSC 16 or ENGG 10 or BCIS 50.

112. Computer Operating Systems 3 s.h.
Spring
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: CSC 110, CSC 120

120. Algorithms and Data Structures 3 s.h.
Fall
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).
Prerequitsites: CSC 14, CSC 16.

123. Programming Languages: Survey, Design and Implementation 3 s.h.
Fall
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: CSC 161.

124. Compiler Construction 3 s.h.
Spring
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: CSC 123.

132. Computational Modeling 3 s.h.
Spring
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: CSC 15, CSC 185 or ENGG 185.

143. Projects in Computer Science 3 s.h.
Fall
Individual or group projects on selected topics such as the design of computer software or applications programs.
Prerequisites: Senior standing and permission of project adviser.

144. Projects in Computer Science 3 s.h.
Spring
Individual or group projects on selected topics such as the design of computer software or applications programs.
Prerequisites: Senior standing and permission of project adviser.

145. Special Studies
Periodically
Topics are chosen from areas of current interest that are not covered in existing course offerings. Subjects are announced annually. Prerequisites: Junior standing and requirements for current topic. May be repeated for credit when topics vary.

155. Unix and C++ 3 s.h.
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.
Prerequisite: CSC 120

158. Introduction to Artificial Intelligence 3 s.h.
Spring
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.
Prerequisite: CSC 120.

161. Introduction to Automata Theory 3 s.h.
Periodically
Definition and representation of various types of automata such as finite and probablistic automata. Representation of automata by state graphcs, logical nets and Turing machines. Computability theory and decision problems of automata.
Prerequisite: CSC 120.

163. Computing, Ethics, and Society 1 s.h.
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.
Prerequisite: Junior Class Standing; PHIL 9; CSC 4, CSC 5, or CSC 15.

170. Principles of Database Management
Fall
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.
Prerequisite: CSC 120.

171A. Introduction to Computer Graphics 3 s.h.
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: CSC 16, CSC 24, CSC 111

175. Principles of Data Communication 3 s.h.
Once a year
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: CSC 120, MATH 19 and junior standing.

185. Methods of Random Process 3 s.h.
Fall
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: MATH 20, CSC 16.

186. Design and Analysis of Experiments 3 s.h.
Spring
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: ENGG 185 or CSC 185; ENGG 10 or CSC 15.

187. Linear Programming 3 s.h.
Fall
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 complcations and their resolution. Applications are extended to include the generalized LP problem, transportation, assignment and network problems.
Prerequisites: MATH 20, CSC 16.

190. Software Engineering: Theory and Practice 3 s.h.
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.)
Prerequisite: Senior status or permission of department chairperson.

195. Computer Science Internship I 3 s.h.
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.

196. Computer Science Internship II
Continuation of 195.

NOTE: Graduate courses taken toward the major may not be taken on a Pass/Fail basis.

200A. Themes of Computer Science 6 s.h.
Fall
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, sicentific 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.
Prerequisite: CSC 120.
201A. Mathematical Logic 3 s.h.
Periodically
The propositional calculus: truth tables and axiomatizations. First order theories: completeness theorem, formal number theory, Gobel's imcompletenewss theorem. Same as MATH202.
Prerequisite: MATH 145 or CSC 161.

201B. Logic Application to Software 3 s.h.
Every other year
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 kernel, security. Finite state machines and temporal logic applied to protocol specification.
Prerequisite: CSC 201A or MATH 202.

202. Computability 3 s.h.
Fall, Spring
Mathematical language of theoretical computer science (sets, n-tuples, relations, fucntions, 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 u-recursive functions. Primitive recursive functions, Godel numbering, the halting problem, other unsolvable problems as time permits. Recursive sets and recursively enumerable sets. (Formerly Algorithms and Theory of Computation).
Prerequisite: CSC 161.

204. Algorithms I: Sorting and Searching 3 s.h.
Fall, Spring
Basic techniques for estimating the efficiency of algorithms. Search 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. Equivalnce relations and compressed balanced trees. Topological sorting. External sorting: merge sorting, multiway merge, B-tree (2-3 trees, 5 way trees).
Prerequistite: CSC 120.

205. Algorithms II: Combinatorial Algorithms 3 s.h.
Once a year
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.
Prerequisite: CSC 120.

206. Analysis of Algorithms and Complexity Theory 3 s.h.
Periodically
Asymptotics, recurrence relations, lower bound theory including comparison trees for sorting and searching. Oracles. Lower bounds on parallel computation. Combinatoral 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.
Prerequiste: CSC 161.

207. Advanced Data Structures 3 s.h.
Fall, Spring
Managing multiple stacks and queues. Stack series. Permutations obtainable from stacks and queues. Concatenatable queues. Locating repeated substrings: an application of stack. Stack and queue operation sequences. Set representation Lindstrom scanning, Siklossy traversal. Gerneralized lists. Mergeable heaps. Files as a data structure. Storage compaction. Garbage collection.
Prerequisite: CSC 120.

208. Formal Languages, Grammars and Automata 3 s.h.
Once a year
Languages, the grammars that generate them and the machines that accept them. Regular languages. Finite automata - deterministic and nondeterministic. Transition fuctions and state diagrams. Context-free languages and pushdown automatat. Context-free grammars and compiler design. Context-sensitive languages and linear-bounded automata. Closure results.
.
Prerequisite: CSC 161

212. Database Design II 3 s.h.
Periodically
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.
Prerequisite: CSC 254.

214. Computer Modeling 3 s.h.
Periodically
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 of CSC 132, not both. (Formerly Advanced Computer Modeling.)
Prerequisites: CSC 16, CSC 185.

216. Quantitative Approaches to Decision Making 3 s.h.
Periodically
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.
Prerequisite: CSC 185 or equivalent.

226. Compiler Construction II 3 s.h.
Periodically
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 optimiz ation. No credit toward the M. S. degree in Computer Science.
Prerequisite: CSC 258.

252. Survey of Programming Languages 3 s.h.
Once a year
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 programmi ng language constructs. Credit given for this course or CSC 123, not both.
Prerequisite: CSC 120.

253.Design of Programming Languages 3 s.h.
Once a year
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-oriente d programming languages. td>
Prerequisites: CSC207, CSC 252 or both CSC 120 and permission of instructor.

254. Database Design 3 s.h.
Once a year
Study current methods of information system design. Data independence, data models and sublanguages. An overview of the hierarchical, relational and network approaches to database design. An in-depth study of the relational database design. (Formerly 210.)
Prerequisite: CSC 120.

255. Database Laboratory 2s.h.
Periodically
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).
Corequisite: CSC 254.

256. Advanced Operating Systems Design 3 s.h.
Once a year
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. Intr oduction to the fundamentals of queuing theory.
Prerequisite: CSC 112 (Formerly 220.)

258. Compiler Construction 3 s.h.
Once a year
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 dyn amic storage allocation. Semantic routines, internal forms, code generation and optimization techniques. Credit given for this course or CSC 124.
not both Prerequisites:? CSC 110, CSC 161, (Formerly 225.)

259. Compiler Construction Laboratory 3 s.h.
Periodically
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.
Prerequisite: CSC 258.

260. Combinatorics and Graph Theory 3 s.h.
Once a year
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 t o analysis of algorithms in graph theory, and sorting and searching.
Prerequisite: CSC 205.

265. Numerical Methods I: Analysis3 s.h.
Periodically
Floating-point arithmetic. Finite-difference calculus. Polynomial, inverse, spline interpolation. Approximation: leastsquares, polynomial, Chebyshev, rational functions. Numerical integration and differentiation. Solution of nonlinear equations. Solut ion of ordinary differential equations. Same as MATH 265.
Prerequisite: CSC 102 or ENGG 101 or MATH 147.

267. Numerical Methods II: Linear Algebra 3 s.h.
Periodically
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.
Prerequisite: CSC 265.

269. Computer Graphics 3 s.h.
Once a year
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 graphic s covered as time permits.
Prerequisite: CSC 120. (Formerly 250.)

270. Artificial Intelligence I 3 s.h.
Once a year
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, minimaxi ng 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.
Prerequisite: CSC 120.

271. Artificial Intelligence II 3 s.h.
Once a year
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.
Prerequisite: CSC 270.

274. Natural Language Processing 3 s.h.
Periodically
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.
Prerequisite: CSC 270.

275. Pattern Recognition 3 s.h.
Periodically
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 recogn ition, automated medical diagnosis.
Prerequisite: CSC 120. (Formerly 228.)

276. Robotics 3 s.h.
Once a year
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: MATH 29, CSC 120.

278. Expert Systems 3 s.h.
Once a year
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. pro gramming techniques; introduction to Prolog and LISP languages; expert-system generators.
Prerequisite: CSC 270.

279. Computer Vision 3 s.h.
Once a year
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.
Prerequisite: CSC 270.

280. Logic Design and Switching Theory 3 s.h.
Once a year
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.
Prerequisite: CSC 110.

282. Real-Time Systems 3 s.h.
Once a year
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 an d databases. Testing of on-line systems. Basic theory of data transmission and telecommunications access methods.
Prerequisites: CSC 110, CSC 112. (Formerly 222.)

284. Computer Communication Networks and Distributed Processing 3 s.h.
Once a year
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.
Prerequisite: CSC 112. (Formerly 223.)

286. Computer Organization I 3 s.h.
Once a year
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, pipeli ne computers. A review of current and future trends in computer design (Formerly 224, Advanced Computer Organization.)
Prerequisites: CSC 110, CSC 112.

287. Computer Organization II 3 s.h.
Once a year
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 architectu res. High-level-language machines.
Prerequisite: CSC 286.

290. Seminar: Special Topics 3 s.h.
Fall, Spring
Topics are chosen form areas of current interest such as microprocessors, minicomputers, structured programming, computer-resource management, newly released computer systems, new programming languages, heuristic programming, automatic-deductive syste ms, parsing methods, compiler optimization, theory of computability, formal languages and automata. May be repeated when topics vary.
Prerequisite: permission of department.

300. Independent Projects 3 s.h.
Fall, Spring
Credit given for this course or CSC 301-302, not both.
Prerequisite: permission of department and the completion of 21 graduate credits.

301-302. Thesis 3 s.h.
Fall, Spring
Advanced project carried out by the student, under supervision of a faculty member. An oral presentation is required as well as a written thesis. Prerequisite: permission of department and the completion of 21 graduate credits.
Credit given for CSC 300 or 301-302, not both.