CSC - Computer Science Course Descriptions

CSC 10000 Introduction to Programming and Computer Science

A breadth-first introduction to computer programming and computer science. Elementary programming in a modern object-oriented language such as C++ or Java; introduction to algorithms; brief overview of operating systems, computer networks, and databases; introduction to artificial intelligence. 

Credits

3

Contact Hours

4 hr./wk.

CSC 10200 Introduction for Computing

The structure and operation of a computer, concepts, and properties of algorithms and a programming language. Introduction to programming in a modern programming language, such as C/C++. The emphasis is on applications of interest to scientists and engineers.

Credits

3

Prerequisites

MATH 19500 (min C grade) or pre/coreq.: MATH 20100 (min C grade).

Contact Hours

2 class, 2 rec. hr./wk.

CSC 10300 Introduction to Computing

Basics of procedural computer programming (primarily in C++). This includes an understanding of datatypes and variables, branching and looping constructs, pointers and recursion. Basic hardware components in a typical computer system. Also covered are elementary data structures, the standard template library, the basics of object oriented programming, and basics of security-conscious programming.

Credits

3

Prerequisites

MATH 19500 (min. C grade).

Corequisites

MATH 20100 (min. C grade)

Contact Hours

2 class, 2 rec. hr./wk.

CSC 10400 Discrete Mathematical Structures

Introduction to the mathematics fundamental to all phases of computer science, from the formulation of problems to the understanding of their underlying structure, to the comparative analysis of the complexity of algorithms that can be used to solve these problems. The course introduces combinatorics, first-order logic, induction, set theory, relations and functions, graphs, and trees.

Credits

4

Prerequisites

MATH 20100 (min. C grade).

Contact Hours

3 class, 2 rec. hr./wk.

CSC 11300 Programming Language

This course is to develop understanding and fluency of a current programming language; topics include basic programming concepts, data representation, functions, control structures, error handling and exceptions, testing and debugging, type safety, classes and principles of object-oriented programming. A series of laboratory-oriented programming projects is an essential component of the course.

Credits

1

Prerequisites

CSC 10300 or departmental permission.

Contact Hours

1hr./wk.

CSC 21000 Computers and Assembly Language Programming

Computer structure, machine representation of data, addressing and indexing, computation and control instructions, assembly language and assemblers; procedures (subroutines) and data segments, linkages and subroutine calling conventions, loaders; practical use of an assembly language for computer implementation of illustrative examples.

Credits

3

Prerequisites

CSC 10300.

Contact Hours

3 hr/wk.

CSC 21100 Fundamentals of Computer Systems

Fundamentals of computer organization and digital logic. Boolean algebra, number systems and codes, combinational logic design principles, basic gates and components, flipflops and latches, counters and state machines. Assembly language and assemblers; procedures and data segments, linkages and subroutine calling conventions, loaders; practical use of an assembly language.

Credits

3

Prerequisites

CSC 10300 or department permission.

Contact Hours

3 lect. 2 lab. Hrs/week

Notes

Computer Engineering students who have completed CSC 21000 and EE 21000 are considered to have met the requirements of equivalency to CSC 21100.CSC 21100: Fundamentals of Computer Systems

CSC 21200 Data Structures

Extension of the knowledge of algorithm design and programming gained in CSC 10300 with continuedemphasis on the logic underlying the transition from specification to program. Particular attention is paid to issues arising in the implementation of larger programs: introduction of data structures and data abstraction; the basics of object-oriented programming. Introduction of recursion as a design tool. Introduction of complexity analysis.

Credits

3

Prerequisites

CSC 10300 and CSC 10400.

Contact Hours

2 class, 2 rec. hr./wk.

CSC 21700 Probability and Statistics for Computer Science

Overview of applicable discrete and stochastic foundations: combinatorics, probability, and Monte Carlo methods. Descriptive statistics for data analysis. Random variables, mathematical expectation. Study of the constant density and random number generator, normal, exponential, as well as Bernoulli, Binomial and Poisson distributions. Limit theorems and sample statistics. Foundations of discrete event simulation, computational examples.

Credits

3

Prerequisites

CSC 10300, CSC 10400, and MATH 20100 (min. C grade).

Contact Hours

3 hr./wk.

CSC 22000 Algorithms

Measuring algorithmic complexity (O-Notation); searching and sorting algorithms and their complexity; tree and graph algorithms and their complexity; classes of algorithms, such as divide-and-conquer, backtracking, greedy, probabilistic, etc. Computational complexity; the classes P and NP.

Credits

3

Prerequisites

CSC 21200.

Contact Hours

3 hr./wk.

CSC 22100 Software Design Laboratory

Accelerated introduction to Java programming language and its standard library usage. The course covers coding principles, graphic user interface, event-driven programming, design patterns, security issues, and network and mobile computing capabilities. This course also introduces application development under the Android mobile operating system. A small-scale, team-based application development including software specifications and unit and user testing is required.

Credits

3

Prerequisites

CSC 21200 and ENGL 21007, or ENGL 21001 or ENGL 21002 or ENGL 21003.

Contact Hours

3 hr./wk.

CSC 30000 Mathematics for Computer Science

This course covers topics in advanced calculus and statistics which are needed in many application domains in computer science. The approach is to use examples in fitting statistical models to data as a launching pad for considering aspects of vector calculus and statistical testing. Such numerical statistical models come up in computer vision, artificial intelligence, computer security,network analysis, distributed computing and many other applications.

Credits

3

Prerequisites

MATH 20100, MATH 21200, CSC 21700

Contact Hours

3 hr./wk.

CSC 30100 Numerical Issues in Scientific Programming

Numerical issues: roundoff error, truncation error, overflow and underflow errors. Numerical integration; solution of simultaneous equations; curve fitting. A thorough introduction to scientific programming, using a modern version of the Fortran or Matlab language. Written reports and oral presentation of projects.

Credits

3

Prerequisites

CSC 21700, CSC 22000, MATH 21300 or MATH 20300 (min. C grade), and MATH 34600 (min. C grade)

Contact Hours

3 lect. Hrs/week

CSC 30400 Introduction to Theoretical Computer Science

Finite state automata, pushdown automata, Turing Machines, and the languages they can recognize. Church's Thesis. Compatibility. The classes P and NP; NP-complete problems and intractable problems.

Credits

3

Prerequisites

CSC 22000.

Contact Hours

3 hr./wk.

CSC 31167 Foundations of Data Science

This course introduces the fundamental concepts and computational techniques of data science to all students, including those majoring in the Arts, Humanities, and Social Sciences. Students engage with data arising from real-world phenomena—including literary corpora, spatial datasets, and social networks data—to learn analytical skills such as inferential thinking and computational thinking. The competencies learned in this course will provide students with skills that will be of use in their professional careers, as well as tools to better understand, quantitatively and qualitatively, the social world around them. Finally, by teaching critical concepts and skills in computer programming and statistical inference, the class prepares students for further coursework in technology-dependent subjects, such as Digital Humanities. The course is designed for students who are new to statistics and programming. Students will make use of the Python programming language, but no computer science pre-requisites are required.

Credits

3

Contact Hours

3 hr./wk.

CSC 31700 Introduction to the Internet

This course is intended to provide students with the background necessary for understanding the Internet. Discussed are the underlying technology, applications, and social implications of the World Wide Web. Cannot be used to fulfill CSC technical elective requirement.

Credits

3

Prerequisites

CSC 10200 or CSC 10300 and at least junior standing.

Contact Hours

3 hr./wk.

CSC 31800 Internet Programming

This course provides advanced CSC/engineering majors with an understanding of web-based application development.

Credits

3

Prerequisites

CSC 22100 or EE 25900.

Contact Hours

3 hr./wk.

CSC 32200 Software Engineering

The software development life cycle from feasibility study to turnover to client. Documentation of design, program, and training materials. Rapid prototyping languages. Software development management: team roles and organization, the version control problem, maintenance issues. Use of CASE tools emphasized and illustrated in projects. Written reports and oral presentation of projects.

Credits

3

Prerequisites

CSC 22000 and CSC 22100.

Contact Hours

3 lect. Hrs/week

CSC 33200 Operating Systems

Concepts, structure, mechanisms of operating systems. Relevant to embedded systems, smart phones, single-user workstations and PCs, and medium-sized shared systems (e.g., cloud); Multi-tasking. Resource abstractions and Sharing. System protection and integrity. Inter-task communications and Synchronization. Lab projects (individual); written exams and reports.

Credits

4

Prerequisites

CSC 22000, CSC 22100

Contact Hours

3 lect. hr., 2 lab hrs./wk.

CSC 33500 Programming Language Paradigms

Aspects of the design and implementation of declarative and imperative programming languages, presented via a sequence of interpreters. Topics include abstraction, objects and inheritance, parameter passing, type-checking and continuations. Substantial programming assignments.

Credits

3

Prerequisites

CSC 22000 and CSC 22100.

Contact Hours

3 hr./wk.

CSC 33600 Introduction to Database Systems

An introduction to database architecture. Levels of abstraction in a database system; physical database organization: abstract data models; relational databases and their query languages. Database design assignments.

Credits

3

Prerequisites

CSC 22000 and CSC 22100.

Contact Hours

3 hr./wk.

CSC 34200 Computer Organization

This course provides computer science and computer engineering students with an in-depth look at computer architecture and the hardware/software interface. The major topics are: computer abstractions and technology; the role of performance and measuring performance; SPEC. computer arithmetic; machine language: a comparative analysis of instruction sets of current processors using debuggers, simulators and by the partial reverse engineering of executables. The processor: datapath and control; RISC versus CISC; design, implementation (using VHDL), and verification (in simulation) of a simplified RISC processor using CAD tools. Enhancing performance with pipelining. Memory hierarchy, cache, virtual memory, performance issues. interfacing processors and peripherals; PCI chipset. Overview of multiprocessors, grid computing.

Credits

3

Prerequisites

CSC 21100 or (CSC 21000 and EE 21000).

Corequisites

CSC 34300.

Contact Hours

3 hr./wk.

CSC 34300 Computer Systems Design Laboratory

Introduction to FPLD technology, logic synthesis, and rapid prototyping of digital systems using commercial CAD tools. Topics: Programmable Logic Technology. Sequential Design and Hierarchy. Synthesis of Digital Hardware using VHDL. State Machine Design, CPU Controller. A Simple Processor Design. Video Graphics Adapter (VGA) video display generation. Design PS/2 Keyboard interface. Design of PS/2 Mouse interface. Synthesis of a RISC processor as covered in CSC 34200. Students are required to prepare written reports and demonstrate their design.

Credits

1

Corequisites

CSC 34200.

Contact Hours

4 lab. Hrs/week

CSC 37500 Social Issues in Computing

A systematic and comprehensive overview of the social implications of computers. Public policy questions and the responsibility of computer professionals will be stressed. Topics include computers in the economy, in politics and government, in social institutions and in contemporary culture.

Credits

3

Prerequisites

At least sophomore standing.

Contact Hours

3 hr./wk.

CSC 38000 Computer Security

An introduction to computer security.  The student will develop the ability to reason about security in a variety of practical contexts and will learn best practices for mitigating threats and implementing secure systems.  Topic will include software and hardware security, network security and protocols, operating systems security, and elementary cryptography.

Credits

3

Prerequisites

(CSC 21100 or {CSC 21000 and EE 21000}) and CSC 22000

Contact Hours

3 hr./wk.

CSC 41200 Computer Networks

Layer approach to understanding networks using the ISO model: physical layer, data link layer, network layer, and, as time permits, the transport, session, presentation, and application layers.

Credits

3

Prerequisites

CSC 33200.

Contact Hours

3 hr./wk.

CSC 42000 Compiler Construction

Formal description of programming languages and techniques used in their compilation. Study of syntax, semantics, ambiguities, procedures replication, iteration, and recursion in these languages. Syntactic decomposition and the theory of compilers that are syntax-directed or recursively controlled.

Credits

3

Prerequisites

CSC 30400.

Contact Hours

3 hr./wk.

CSC 42200 Computability

Shepherdson-Sturgis machines. Elements of recursive function theory. The equivalence of the class of computable and recursive functions. Church's thesis; other models of computation: Post machines, Turing machines, semi-Thue systems, etc. Unsolvable problems and introduction to their classification. Subrecursive formalism.

Credits

3

Prerequisites

CSC 22000, CSC 30400, and (CSC 21700 or EE 31100).

Contact Hours

3 hr./wk.

CSC 42300 Introduction to Distributed Algorithms

Model of distributed computing. Various network traversal algorithms and their corresponding spanning trees. Building a logical ring. Distributed shortest path algorithms. Knot and cycle detection. Mobile objects navigating a network.

Credits

3

Prerequisites

CSC 22000

Contact Hours

3 hr./wk.

CSC 42800 Formal Languages and Automata

Classes of languages; their description in terms of grammars and their recognition by automata. The Chomsky hierarchy; regular, context-free, context-sensitive and recursively enumerable languages. Application to parsing and compiler construction.

Credits

3

Prerequisites

CSC 30400.

Contact Hours

3 hr./wk.

CSC 43000 Distributed Computing

Basic model of distributed computing. Asynchronous and synchronous message passing. Algorithms for distributed termination detection and their correctness proofs. The correctness requirements of safety, liveness, and fairness in distributed computations. Synchronization algorithms. Communicating Sequential Processes. Higher level language constructs for synchronization algorithms. Verification methods. Several seemingly correct but actually incorrect algorithms will be shown for the above problems to appreciate the subtle correctness problems in distributed algorithms.

Credits

3

Prerequisites

CSC 33200.

Contact Hours

3 hr./wk.

CSC 43500 Concurrency in Operating Systems

Mutual exclusion-software and hardware approaches. The correctness requirements of safety, liveness, and fairness. Semaphores, monitors and other concurrent programming constructs. Classical synchronization problems. Axiomatic verification of concurrent algorithms. Models of distributed computation. Distributed termination detection. Time clocks, and ordering of events. Distributed Mutual Exclusion. Deadlocks in distributed systems.

Credits

3

Prerequisites

CSC 33200.

Contact Hours

3 hr./wk.

CSC 43800 Real-Time Computing Systems

Operating systems and architectural concepts of real-time systems. Review of I/O programming and basic machine language programming. Interrupt processes. Coding of specific device drivers using absolute addressing status registers, command signals, buffering. Timing considerations and applications. Concurrent processes, wait-send phenomena, and the use of semaphores.

Credits

3

Prerequisites

CSC 34200 and CSC 34300.

Contact Hours

3 hr./wk.

CSC 44000 Computational Methods in Numerical Analysis

Introduction to numerical algorithms for scientific computation. Basic concepts of numerical error. Interpolation, quadrature, solution of linear systems of equations, non-linear equations, ordinary differential equations. Some discussion of partial differential equations and numerical methods of solving them. Computer implementation aspects.

Credits

3

Prerequisites

CSC 30100.

Contact Hours

3 hr./wk.

CSC 44200 Systems Simulation

Simulation of dynamic stochastic systems using models involving numerical and logical processes. Modeling concepts, description in terms of entities, attributes, and activities, time flow mechanisms, queues, event-oriented vs. particle-oriented models. Generation of stochastic variates, collection and evaluation of statistics. Simulation languages. Computer projects using a general purpose language (e.g. Fortran or Matlab) and at least one simulation language (e.g. GPSS) will be assigned.

Credits

3

Prerequisites

CSC 30100.

Contact Hours

3 hr./wk.

CSC 44500 Big Data Management and Analysis

The course aims to provide a broad understanding of big data and state-of-the-art technologies to manage and process them.General topics of this course include: big data ecosystems,parallel and streaming programming model, spatial data management, Map Reduce, Hadoop,Spark, Hive, and Pig Hands-on labs and exercises in the context of data science will be offered throughout the class to bolster the knowledge learned in each module.

Credits

3

Prerequisites

CSC 22000, CSC 22100, Knowledge of Python programming language

Contact Hours

3 hr./wk.

CSC 44600 Mathematical Optimization Techniques

Maximization and minimization of functions of several variables, with and without constraints. Convex sets and functions, linear and dynamic programming, network flows.

Credits

3

Prerequisites

CSC 30100.

Contact Hours

3 hr./wk.

CSC 44700 Introduction to Machine Learning

This course will provide a theoretical and hands‐on introduction to the basics of machine learning and its application to various real‐world problems. The course focuses on supervised learning problems including classification and regression. The course also discusses reinforcement learning. Unsupervised learning techniques such for dimension reduction and clustering will also be discussed. A wide range of different machine algorithms will be surveyed such as k-nearest-neighbors, polynomial curve fitting, logistic regression, support vector machines, decision trees, ensemble methods, and artificial neural networks. The course will also discuss ethical considerations in the application of machine learning. The course will be a feature a final project demonstrating mastery of the material..

Credits

3

Prerequisites

CSC 22000, CSC 22100, MATH 21300 or MATH 20300 (min. C grade), and MATH 34600 (min. C grade).

Contact Hours

3 hr./wk.

CSC 44800 Artificial Intelligence

State-space and problem-induction representations of problems. Heuristic methods. Mechanical theorem proving. Application of these techniques to artificial intelligence problems.

Credits

3

Prerequisites

CSC 30400.

Contact Hours

3 hr./wk.

CSC 45000 Combinatorics and Graph Theory

An introduction to combinatorial analysis and graph theory. Sample topics: principle of inclusion and exclusion, recurrence relations, zero-one matrices, partitions, Polya's Theorem, directed graphs,

Credits

3

Prerequisites

CSC 22000 and (CSC 21700 or EE 31100).

Contact Hours

3 hr./wk.

CSC 45400 Topics in Computer Architecture

Current developments in computer architecture chosen from: superscalar parallel/pipelined architectures: speculative execution; branch prediction; register renaming techniques. Students develop software for superscalar processors, both real and simulated.

Credits

3

Prerequisites

CSC 34200 and CSC 34300.

Contact Hours

3 hr./wk.

CSC 45600 Topics in Modern Software Engineering

In this course students are introduced to modern software engineering tools, processes, and practices leveraged to develop software products in today’s top technology companies. Students will learn about the origins, theoretical underpinnings, and practical applications of these tools, processes, and practices in industry from empirical research. Additionally, students will apply these tools, processes, and practices by working in teams with their classmates to implement a student selected software application during the semester.

Credits

3

Prerequisites

CSC 22000 and CSC 22100

Contact Hours

3 hr./wk.

CSC 46000 Introduction to Data Science

This course consists of a survey of analytical tools and concepts in data science, with goal of equipping students with an understanding of the best practices used by professional data scientists and analysts in top companies in technology, finance, and media. The course begins with an overview of fundamentals in data handling and exploratory data analysis, followed by an introduction to core concepts in statistical modeling and machine learning, and concludes with a brief introduction advanced concepts in data science. Students will work with a wide variety of real-world data sets throughout the course in order to gain hands on experience. Emphasis will be placed on frequent practice through writing and reviewing code each week. In addition, students will be assigned and expected to discuss short reading assignments ranging from academic reviews of popular topics in analytics as well as data science and engineering blog posts from companies such as Airbnb, Spotify, and Facebook. Tasks and readings will aim to demystify the work of data teams in the real world, and familiarize students with the concepts and resources needed to secure and succeed in analytical roles.
 

Credits

3

Prerequisites

CSC 22000 and CSC 22100

Contact Hours

3 hr./wk.

CSC 47000 Image Processing

An intensive introduction to digital image processing. Image enhancement, digital filtering theory. Fourier transforms, image reconstruction, resampling, antialiasing, geometric transformations, scanline algorithms, warping, and morphing. Emphasis is on computational techniques. Substantial programming assignments.

Credits

3

Prerequisites

CSC 22100

Contact Hours

3 hr./wk.

CSC 47100 Computer Vision

An intensive introduction to algorithms that recover information from images, motion sequences, multiple views, and 3D volumes. Topics include edge and region recovery, perspective, texture, object recognition, and 3D shape from shading/stereo/motion. Substantial programming assignments.

Credits

3

Prerequisites

CSC 30100 and CSC 32200.

Contact Hours

3 hr./wk.

CSC 47200 Computer Graphics

An intensive study of computer graphics. Graphics hardware, OpenGL API, raster scan conversion, clipping, geometric transformations, 3D viewing, visible surface determination, illumination, shading, splines, ray tracing and animation. Substantial programming assignments.

Credits

3

Prerequisites

CSC 22100.

Contact Hours

3 hr./wk.

CSC 47300 Web Site Design

The design and implementation of web sites and web applications. Current web technologies will be reviewed as well as principles of user experience design. Students will learn to write a web application in a web framework. There will be an emphasis on testing, working in a small team and software engineering best practices.The design and implementation of web sites from a Human-Computer Interaction viewpoint, with emphasis on user testing. Navigation design. Accessibility by persons with limitations in vision or motor ability is stressed and must be addressed in the final project.

Credits

3

Prerequisites

CSC 22100.

Contact Hours

3 lab hr./wk.

CSC 47400 Visualization

Visualization organizes data in a way that the structure and relationships in the data that may not be so easily understood becomes easily understood and interpreted with the visualization. Visualizations of a data set give the reader a narrative that tells the story of the data. The purpose of data visualization is to convey information contained in data to clearly and efficiently communicate an accurate picture of what the data says through understandable and context appropriate visualizations.

Credits

3

Prerequisites

CSC 22000 and CSC 22100

Contact Hours

3 hr./wk.

CSC 47800 Topics in Multimedia and Image Processing

Topics of current interest in image processing, computer vision, computer graphics, and multimedia.

Credits

3

Prerequisites

CSC 47000.

Contact Hours

3 hr./wk.

CSC 47900 Digital Libraries

An introduction to the principles and practice of digital libraries. Algorithms are drawn from computer vision, pattern recognition, image processing, and document processing. Topics include low-level image processing, texture, color constancy, shape from X, supervised and unsupervised training, and implementation issues regarding content based multimedia database. Programming assignments will be implemented in C++ or Java.

Credits

3

Prerequisites

CSC 32200 and MATH 34600 (min. C grade).

Contact Hours

3 hr./wk.

CSC 48000 Computer Security

An introduction to the principles and practices of computer security in various computing environments. Conventional encryption systems and classical cryptography. Confidentiality using conventional encryption. Public key cryptography and protocols for authentication and digital signatures. Recent cryptanalytic attacks on conventional and public key systems. Intruders, worms, viruses and trusted systems. Firewalls and internetwork security. A survey of applications and problems arising in contemporary computer security.

Credits

3

Prerequisites

CSC 22000, CSC 30400, and (CSC 21700 or EE 31100).

Contact Hours

3 hr./wk.

CSC 48600 Introduction to Computational Complexity

An introduction to the performance and limitations of computer algorithms through a study of selected algorithms. Topics include primality testing and integer factorization, algorithms for integer programming and knapsack problems, reductions and NP-completeness, randomized algorithms, and experimental algorithms arising from new technologies such as molecular, neural, and quantum computing.

Credits

3

Prerequisites

CSC 21700 and CSC 30400.

Contact Hours

3 hr./wk.

CSC 49200 Web Security

This course focuses on teaching students the fundamentals of web application security with the aim of providing a foundational level of knowledge matched with offensive and defensive skills developed through hands-on experience. Students will learn the basics of webapp security and common vulnerabilities and attacks, receiving hands-on practice in both exploitation techniques and strategies for protecting and hardening applications. Developed in partnership with Facebook, the course introduces a wide range of topics via a combination of sessions, videos, projects, and labs, giving students both a thorough grounding in the details of webapp.

Credits

3

Prerequisites

CSC 22000 and CSC 22100.

Contact Hours

3 lect. Hrs/wk.

CSC 51001-51004 Independent Study

Independent study and research under the supervision of a mentor.

Credits

1-4

Prerequisites

Departmental approval.

Contact Hours

Hours vary

CSC 59001 Co-op Study I

The first of a two semester co-op experience overseen jointly by department faculty and the supervising employee of the participating company. Course is only offered in the Spring.

Credits

3

Prerequisites

Junior or Senior Standing and Permission of the Department, CSc 59004 (Coop Preparation)

Contact Hours

3

CSC 59002 Co-op Study II

The first of a two semester co-op experience overseen jointly by department faculty and the supervising employee of the participating company. Combined with Co-op Study I in the first semester or co-op Study III in the second semester to reflect the workload of co-op.

Credits

3

Prerequisites

Junior or Senior Standing and Permission of the Department.

Corequisites

Pre- or co-requisite CSC 59001

Contact Hours

3

CSC 59003 Co-op Study III

The second of a two-semester co-op experience overseen jointly by department faculty and the supervising employee of the participating company. Course is only offered in the Summer.

Credits

3

Prerequisites

CSC 59001

Contact Hours

3

CSC 59004 Co - op Preparation

Credits

0

Prerequisites

CSC 22000 (Algorithms)

Contact Hours

3

CSC 59800 Senior Project

Senior projects under the supervision of a mentor.

Credits

3

Prerequisites

Departmental approval.

Contact Hours

Hours vary

CSC 59866 Senior Project I

This is a two semester capstone course. The student is required to complete a significant project in computer science or engineering under the mentorship of a faculty member. In addition to technical material required for successful completion of a specific project, topics include identification of a problem, background research, social, ethical and economic considerations, intellectual property and patents and proposal writing, including methods of analysis and theoretical modeling. A detailed project proposal is formulated in the first semester, and the project is completed in the second semester. Each student is required to write an in-depth report, and to make an oral presentation to the faculty. Senior year students only, or permission of the department.

Credits

3

Contact Hours

3 lect. and 3 design hr./wk.

Notes

Ethics component is required.

CSC 59867 Senior Project II

This is a two semester capstone course. The student is required to complete a significant project in computer science or engineering under the mentorship of a faculty member. In addition to technical material required for successful completion of a specific project, topics include identification of a problem, background research, social, ethical and economic considerations, intellectual property and patents and proposal writing, including methods of analysis and theoretical modeling. A detailed project proposal is formulated in the first semester, and the project is completed in the second semester. Each student is required to write an in-depth report, and to make an oral presentation to the faculty. Senior year students only, or permission of the department.

Credits

3

Contact Hours

3 lect. and 3 design hr./wk.

Notes

Ethics component is required.

CSC 59900 Selected Topics in Computer Science

Topics of current interest in the field. Independent study and seminars.

Credits

Variable hr./ cr.

Prerequisites

Departmental approval.

CSC 59001 Co-op Study I

The first of a two-semester co-op experience overseen jointly by department faculty and the supervising employee of the participating company.

Credits

3

Prerequisites

CSC 22000 and CSC 22100

Offered

Spring only.

Contact Hours

3

CSC 59002 Co-op Study II

The first of a two semester co-op experience overseen jointly by department faculty and the supervising employee of the participating company. Combined with Co-op Study I in the first semester or co-op Study III in the second semester to reflect the workload of co-op.

Credits

3

Prerequisites

Junior or Senior Standing and Permission of the Department.

Corequisites

CSC 59001

Contact Hours

3 hr/wk.

CSC 59903 Co-op Study III

The second of a two-semester co-op experience overseen jointly by department faculty and the supervising employee of the participating company. Course is only offered in the Summer.

Credits

3

Prerequisites

CSC 59001

Contact Hours

3 hr/wk

CSC 59944 Neural Computing

Credits

3

Contact Hours

3 hours