CSC 101 FROM GUTENBERG TO GATES
CSC 102 INTRODUCTION TO PROGRAMMING
An introduction to
computers, programming and problem solving using a modern
programming language such as Python, Java, or Visual Basic.
CSC 103 COMPUTER SCIENCE I
An introduction to programming and
problem solving using
Java. Topics include: Input and
CSC 104 COMPUTER SCIENCE II
Exceptions; Stream IO;
Elementary Data Structures;
CSC 195 HOW COMPUTERS WORK
of how computers work: what goes on inside the
computer (hardware), how to program computers
(software), the Internet and communication revolution,
artificial intelligence and the limits of computation.
201 - 202 DISCRETE MATHEMATICS FOR COMPUTER
SCIENCE I AND II
207 MATHEMATICAL EXPERIMENTS IN COMPUTER
CSC 211 DATA STRUCTURES
queues, linked lists, trees, graphs, searching, and
sorting. Design and analysis of algorithms.
CSC 221 COMPUTER LOGIC AND ORGANIZATION
systems, information representation, Boolean algebra,
gates and digital circuit design, timing and control ,
memory, designing a simple computer, software
CSC 304 COMPUTER ARCHITECTURE
The basic of
computer organization, architecture and assembly
language. Instructions sets, address modes, and
the run/time stack are explored by programming on a
RISC machine. CPU and ALU design, performance
analysis, pipelining, cache, virtual memory are
examined. Trade-offs between RISC, CISC and
advanced architectures is discussed. Assumes basic
knowledge of digital logic.
CSC 311 ALGORITHMS AND COMPLEXITY
algorithm techniques: recursion, dynamic programming,
greedy method branch and bound. Analysis of
algorithms: recurrence equations, NP-completeness,
asymptotic complexity. Applications include graph and
CSC 312 COMPILER DESIGN
automata and lexical analysis, context free grammars,
top down and bottom up parsing, syntax directed
translation, symbol table techniques, runtime storage
administration, code generation, optimization.
CSC 314 OPERATING SYSTEMS
Focuses on the
fundamentals of operating systems including:
processes, deadlocks, memory management, I/O, and file
systems. After a thorough grounding in these basics,
students will explore distributed/multiprocessor
computing. Security and computer networks are also
covered. Lectures in class will be reinforced with
programming assignments using the Linux operating
CSC 323 PROGRAMMING LANGUAGES
language concepts including syntax and basic
characteristics of grammars. Control structures, data
flow, run-time considerations. Interpretative
Programming for the world wide web.
Data Layer: XML, Document Object Model.
CSC 325 DATABASE MANAGEMENT SYSTEMS
focuses on the basic principles of Database Management
Systems. Students learn why databases are important to
the information age. Data Modeling is taught using
Entity Relationship diagrams. These data models are
then translated into Relational schemas as students
learn about Relational Algebra, Calculus, and
Relational Database Systems. Practical experience is
gained through projects using the commercial RDBMS
ORACLE. Students learn SQL (both DDL and DML),
database administration, and how to create complete
database applications. The course will culminate in a
major programming project that demonstrates
proficiency in modern database technology.
CSC 382 ARTIFICIAL INTELLIGENCE
representation. Natural language processing. Deduction
and inference. Expert Systems. Computer vision.
Robotics. Programming in LISP, PROLOG, or another AI
CSC 384 THEORY OF COMPUTATION
to the general theory of computation. Formal grammars:
regular, context-free, and context-sensitive
languages. Formal automata: finite-state and pushdown
models. Decidability. Parsing. Turing theory. The
Chomsky hierarchy. Also listed as MA 384.
CSC 390 DATA NETWORKING
Networking: Data communications system components,
network architectures, layered protocols, traffic
analysis and capacity planning
CSC 393 NUMERICAL ANALYSIS
theoretical and practical problems in the
computational aspects of mathematics: approximation of
functions, numerical differentiation, solutions to
algebraic and differential equations; topiCSC in
linear algebra. Also listed as MA 393
CSC 399 TOPICS IN COMPUTER SCIENCE
advanced topics in Computer Science
CSC 400 COMPUTER SCIENCE CAPSTONE
software project involving teamwork, written reports,
and oral presentations.
CSC 475 INTERNSHIP IN COMPUTER SCIENCE
for the qualified student to work in the computer
industry under professional supervision.
CSC 490 DIRECTED STUDY IN COMPUTER SCIENCE
for upper level students to advanced work in a
specialized area of computer science.