Computer Science
Course Descriptions - 2006-07
CSC 101 – Computer Science I
(3) F,S,U
Overview of computer science.
Introduction to algorithms, elementary
data structures, program design, and
programming utilizing a block structured
programming language. Lecture
and laboratory.
CSC 102 – Computer Science II
(3) S,U
Continuation of Computer Science 101.
Introduction to pointers, linked lists,
stacks, queues, and trees. Introduction to
sorting and searching algorithms.
Lecture and laboratory. Prerequisite:
Computer Science 101.
CSC 117 – Microcomputers and Application Software
(3) F,S,U
Introduction to basic terminology and
applications of computers including:
operating systems, word processing,
spreadsheets, and presentation software.
CSC 118 – The Internet: Information Retrieval and Organization
(3) F,S
Basic concepts and usage of databases.
Understanding and using the Internet
with special emphasis on the use of
search engines and directories to locate
information. Using databases to organize
information.
CSC 201 – Discrete Mathematics I
(3) F,S
First course in abstract mathematical
structures with emphasis on material
needed for applications to computer science.
Introduction to different number
systems, data types, computer arithmetic,
Boolean algebra, direct and indirect
proofs, and mathematical induction.
CSC 217 – Computer Programming for Business Applications
(3) F,S
Computer aided problem solving in the
business environment. Efficient use of
spreadsheet software. Macro programming.
Creating solutions from built-in
functions and features. Prerequisite:
Computer Science 117.
CSC 300 – Topics in Computer Science
(1) IR
Current topics in the development of
new hardware and software technology.
May be repeated twice for credit in different
topic areas.
CSC 301 – Discrete Mathematics II
(3) F
Continuation of Computer Science 201.
Set algebra, permutations, combinations,
relations, functions, languages, and
finite-state machines. Prerequisite:
Computer Science 201.
CSC 303 – Computer Organization and Programming
(4) F,S
Digital logic, micro-programming,
machine and assembly language programming.
Boolean logic and its relationship
to actual circuits such as adders,
multiplexers, dimultiplexers, shifters,
and flip-flops. Hypothetical computer is
used to illustrate microprograms/interpreters.
Lecture and laboratory.
Prerequisites: Computer Science 101 and
201.
CSC 316 – Object-Oriented Programming
(3) F,S
Introduction to the object-oriented paradigm
of programming. Objects, classes,
and inheritance. Prerequisite: Computer
Science 101.
CSC 322 – Data Structures and Algorithms
(3) F
The implementation of lists, linked lists,
pointers, stacks, queues, graphs, and
trees. Includes the study of searching
and sorting algorithms. Prerequisites:
Computer Science 102 and 301 or
Mathematics 285.
CSC 323 – Introduction to Networks
(3) F,S
Topics include network types and communication
models, hardware components,
applications, protocols, standards,
internetworking and routing concepts,
OSI Model, TCP/IP, LAN and WAN
networking technologies. Prerequisites:
Computer Science 101, 201, and 303.
May be taken concurrently with CSC
303.
CSC 325 – Programming Languages
(3) F
A comparative study of programming
languages and paradigms. This survey
will include block-structured, procedural,
functional, object-oriented, and
declarative programming languages.
Formal language specification and processing
including Backus-Naur-Form,
lexical analysis, and parsing.
Prerequisites: Computer Science 102.
CSC 343 – Database Systems
(4) S
Design, implementation, and management
of database systems, with an
emphasis on practical applications.
Prerequisites: Computer Science 102
and 201.
CSC 390 – Independent Study
(1–3 hours per semester, maximum 9 hours) F,S
Advanced concepts in computer science.
Individual independent study based on a
plan of study submitted by the student
and approved by the instructor and the
division associate dean. An appropriate
major project will be expected to be
completed.
CSC 411 – Artificial Intelligence
(3) IR
Introduction to the field of artificial
intelligence. Topics chosen from symbolic
pattern matching, goal reduction,
constraint propagation, problem solving,
search techniques, knowledge representation,
language understanding, rule
based systems, and neural networks.
Prerequisites: Computer Science 102 and
301.
CSC 425 – Operating System Concepts
(3) S
Principles of operating systems including:
evolution to the present; concerns
for the future; multiprogramming and
the problems associated with it (memory
management, CPU scheduling, protection,
deadlock handling); file systems;
virtual memory techniques; and disk
scheduling. Prerequisite: Computer
Science 303.
CSC 432 – Computer and Network Security
(4) F,S
Fundamentals of securing computers
and networks. Includes security objectives,
threats, vulnerabilities, types of
attacks, authentication methods, access
control methods, encryption, intrusion
detection, VPNs, firewalls and security
as it relates to the WWW. Prerequisites:
Criminal Justice 333 and Computer
Science 323.
CSC 433 – Software Engineering
(2) F
Theory and practice of development of
large software systems. Concepts, tools
and techniques used for project definition
through implementation and maintenance.
Development team approach
emphasized. Prerequisite: Computer
Science 322.
CSC 433L – Software Engineering Laboratory
(1) S
Theory, tools, and techniques of software
engineering applied to a major
software development project.
Prerequisite: Computer Science 433.
Note: The figure in parentheses following the title of the course indicates the credit hours per term. Courses that extend through two terms are shown as follows: (3, 3). Courses that are one term only are shown by: (3). Courses with variable credit are shown with the range of credit available, for example: (1-6).
Letters appearing after course credit hours in this section are explained as follows:
S=Spring
IR=irregularly
F=Fall
U=Summer Session
Y=at least once each academic year Check schedule for Winter Session
O=every other year
The College reserves the right to cancel any course if registration does not justify continuance and to make changes in curricula at any time.
"UC helped me prepare for my career by giving me a good breadth of knowledge to quickly adapt to industry trends and work cooperatively with my team members."
~
Software Engineer Java Developer
Lockheed Martin Oricon
~
Jennifer Gibbins
'01Software Engineer Java Developer
Lockheed Martin Oricon



