Overview of
BS
Requirements from
Cross

Section of
Peer and Aspirant Institutions
All are semester

hours. The CS total hours do not include Discrete, even if it has CS prefix.
Name

rank
CS+
Math
total
CS
hrs
total
Core
CS
Elective
CS
Quasi

core CS
Disc

rete
Calc
Stat or
Linear
other
Creighton

1
36
33
21
12
3
Elon

2
6
0
44
32
12
4
8
4
Xavier

2
51
3
7
3
1
6
3
8
3
Butler

4
4
4
3
5
23
6
6
9
Drake

4
4
0
3
0
1
5
9
6
3
4
3
Bradley

6
59
45
35
10
3
8
3
Mercer

7
58
4
3
31
3
9
4
8
3
Dru
ry

10
35
24
18
6
3
8
Evansville

10
63
48
3
6
12
3
12
N. Central

19
5
2
37
19
9
9
3
6
3
3
AVGS
50
38
Xavier:
Overview: 30 hours core CSC, 6 hours elective CSC, 3 hours discrete, calc I&II, either stats or
linear. About 50 hours total.
Creigh
ton
Overview:
24
hours required CSC, 12 hours elective CSC
Drury:
Overview: 35 hours (18 core CS, 3 discrete, 8 calculus, 6 elective CSC)
Evansville (ABET accredited)
Overview: 39 hours CSC core, 12 hours CSC electives, 3 hours discrete, 9 hours Calculu
s. Since
it is accredited, there has to be other sciences in there too.
Mercer (ABET accredited)
Overview: 41 hours CSC. 204 and 205 are 4 hours, others are 3. Must require science
sequence too, since accredited.
Butler
Overview: 37 hours CSC (22 cor
e, 6 from OS/Lang/Theory, 6 electives, 1

3 methods)
,
12 hours
math (Discrete, calc I, calc II)
Bradley
Overview: 35

38 hrs CSC requirements plus 7

10 hrs CSC electives to total 45, plus 14 hours
math (discre
te, calc I, calc II, elective)
Drake
Overview
: 25 hour core that includes 18 hours (6 courses) CSC and 10 hours Math (discrete,
calc I, linear). Additional 9 hours elective CSC (3 courses), plus 6 more hours (2 courses)
elective CSC/Math/Stats/ActSci, plus “culminating project” which can be part of
another
course. 27

33 hours CSC courses.
North Central College
Overview: BA/BS in Computer Science. The Computer Science course requirements are
identical for both BA and BS. They are on quarters. The CS 1 and CS 2 courses are 3.5 credits
and all oth
er CSC courses are 3.0 credits. 22 hours CSC core
(includes discrete structs)
, 9
hours application electives, 9 hours other CSC electives. Total of 40 CSC credit hours in the
major
, includes discrete
.
BS requires Calc 2, Stats, one add’l math.
BA requir
es minor.
Elon University
Overview: BS requires 64 semester hours (32 hours core CSC, 12 hours elective CSC, 4 hours
discrete, 8 hours add’l math, 8 hours science), BA is 52 semester hours (8 hours elective CSC,
no science)
======================= DETAI
LS ==============================
Xavier:
Overview: 30 hours core CSC, 6 hours elective CSC, 3 hours discrete, calc
I&II, either stats or linear. About 50 hours total.
Within mathematics, CS majors must take Math 170 and171 (Calculus I and II), 180 (Disc
rete Math), and
either156 (General Statistics) or 210 (Elem. Linear Algebra).
The major requires 36 hours of computer science courses,including those numbered 170, 180 (Computer
Science I, II), 181 (CS Lab), 210 (Machine Org. & Assembly Lang.), 220 (Data S
tructures & Algorithms),
250(Languages & Automata), 260 (Software Engineering),300 (Programming Languages), 310 (Compiler
Construction),320 (Operating Systems), 390 (Senior Seminar & Project),and six hours of elective courses
from those numbered200

397.
CSCI 170

Computer Science I
This course is an overview of computer science. Topics include problem solving and
algorith
ms, machine architecture, operating systems, assembly language, higher
level programming languages, compilers, limits of computation, networking,
applications, and social/ethical issues.
3.000 Credit Hours
CSCI 180

Computer Science II
Program design: advanced syntax of a programming language; dynamic memory;
recursion; sorting; searching; stacks; queues; social and eth
ical issues related to
software design and reliability. Pre

requisite: CSCI 170.
3.000 Credit Hours
CSCI 181

Computer
Science Lab
Introduction to the syntax of a programming language and to program design
techniques. Co

requisite: CSCI 180.
1.000 Credit Hours
1.000 Lab hours
CSCI 210

Machine Organization & Assembly Language
Machine level representation of data, assembly level machine organization, memory
system organization and architecture, number representation and errors, assem
bly
language. Pre

requisite: CSCI 170.
3.000 Credit Hours
CSCI 220

Data Structures & Algorithms
Trees, hashing, adv
anced sorts, numerical algorithms, algorithm analysis, algorithm
design and problem solving strategies. Pre

requisite: CSCI 180, MATH 180.
3.000 Credit Hours
CSCI 250

Languages & Automata
Finite

state

automata and regular expressions, context

free grammars, pushdown
automata. Turing machines, computability and undecidability, complexity classes.
Pre

requisite: MATH 180
, CSCI 170; CSCI 180 is also recommended.
3.000 Credit Hours
CSCI 260

Software Engineering
Software development pr
ocess; software requirements and specifications; software
design and implementation; verification and validation. Pre

requisite: CSCI 220.
3.000 Credit Hours
CSCI 300

Programming Languages
History of programming languages; virtual machines; sequence control; data
control; scoping; parameter passing; sharing and type checking; run

time storage
management; programming la
nguage semantics; programming paradigms.
Includes a brief introduction to several different languages as examples of
paradigms. Pre

requisite: CSCI 220, CSCI 250.
3.000 Credit Hours
CSCI 310

Compiler Construction
Study of grammars, syntax, semantics, interpreters, and compilers. Including the
construction of a simple language and a compiler/interpreter. Pre

requisite:
CSCI
220, CSCI 250; CSCI 260 is also recommended.
3.000 Credit Hours
CSCI 320

Operating Systems
Operating system so
ftware and hardware design and implementation; tasks and
processes; process coordination, synchronization, and scheduling; physical and
virtual memory organization; file systems and naming; security and protection. Pre

requisite: CSCI 210, CSCI 220; CSCI 2
60 is also recommended.
3.000 Credit Hours
CSCI 390

Senior Seminar & Project
Design, implementation, documentation,
and presentation of a significant computer
science project. Pre

requisite: Senior Computer Science major
2.000 OR 3.000 Credit Hours
The following are electives, students are required to take two:
CSCI 321

Numerical Analysis
Accuracy; function evaluation and approximation; systems of linear equations;
nonlinear equations; numerical differentiation and integration; so
lutions to
differential equations. Pre

requisite: CSCI 180, MATH 171
3.000 Credit Hours
CSCI 335

Databases
Database
systems are the software systems used to manage large volumes of data.
The principles of database systems, hardware characteristics, file organization and
evaluation, data models, database schemas, etc., are studied from both a
theoretical and practical v
iewpoint. The emphasis will be on solving the problems
encountered in designing and using a database system, regardless of the
underlying hardware and operating system on which the database system will run.
Pre

requisites: CSCI 210, CSCI 220, MATH 180.
3.
000 Credit Hours
CSCI 340

Networking
Principles of abstraction underlying modern networks with an emphasis on the
te
chnologies underlying the Internet. Applications, transport protocols, routing
protocols, network protocols and link protocols will be covered. Problem solving,
including programming, at all layers of the networking model will be emphasized.
Pre

requisites
: CSCI 220
3.000 Credit Hours
CSCI 350

Advanced Algorithms & Theory
Advanced algorithm design and analysis of algor
ithms; NP

Completeness, parallel
algorithms; heuristic techniques for intractable problems. Pre

requisite: CSCI 220;
CSCI 250 is also recommended.
3.000 Credit Hours
CSCI 370

Artificial Intelligence
Methods of problem solving in artificial intelligence. Heuristics, evaluation functions,
search strategies, and a survey of AI projects. Introduction to LISP or other
langu
age used for AI programming. Pre

requisite: CSCI 220.
3.000 Credit Hours
CSCI 380

Topics in Computer Science
Advanc
ed computer science topics, specified by instructor.
1.000 TO 3.000 Credit Hours
Creighton
Overview:
24
hours required CSC, 12 hours elective CSC
B.S.C.S. with concentration in Computer
Science
Required courses (36 hours)
CSC 221 Computer Programmin
g I
CSC 222 Computer Programming II
CSC 309 Discrete Structures
CSC 414 Introduction to Computer Organization
CSC 427 Data Structure and Algorithm Analysis
CSC 533 Organization of Programming Languages
CSC 539 Operating Systems Structure and Design
CSC 548
Object Oriented Design
Four additional 400

level

or

above CSC courses
(no more than 6 credits of CSC 493 or 495)
CSC 121 Computers and Scientific Thinking
(F,S)
CSC 221 Computer Programming I
(F,S)
CSC 222 Computer Programming II
(F,S)
CSC 309 Discrete S
tructures
(S)
CSC 414 Introduction to Computer Organization
(F)
CSC 426 Website Administration
(Alt

S)
CSC 427 Data Structures and Algorithm Analysis
(F)
CSC 444 Human Computer Interaction
(S)
CSC 452 Windows Programming
(Alt

F)
CSC 462 Oracle Programming
(OD)
CSC 493 Directed Independent Readings
(OD)
CSC 495 Directed Independent Study
(OD)
CSC 497 Directed Independent Research
(OD)
CSC 499 Directed Internship
(OD)
CSC 515 Computer Architecture
(OD)
CSC 525 Automata, Computability & Formal Lang.
(Alt

F)
CSC
528 Advanced Electronic Commerce
(Alt

S)
CSC 533 Organization of Programming Languages
(S)
CSC 535 Introduction to Compiler Design
(OD)
CSC 538 Networks LAN & NOS
(Alt

S)
CSC 539 Operating Systems Structure and Design
(S)
CSC 542 Relational Database Desig
n
(F)
CSC 543 Numerical Analysis
(OD)
CSC 548 Object Oriented Design
(S)
CSC 550 Introduction to Artificial Intelligence
(Alt

S)
CSC 551 Web Programming
(F)
CSC 555 Computer Graphics
(F)
Drury:
Overview: 35 hours (18 core CS, 3 discrete, 8 calculus, 6 e
lective CSC)
Require Core Courses (29 hours):
CSCI 241: Discrete Mathematics
CSCI 2
51: Introduction to Computer Science
CSCI 261: Data Structures
CSCI 262: Algorithms
CSCI 351: Programming Languages
CSCI 371: Software Engineering
CSCI 493: Research and Development
MATH 231: Calculus I
MATH 232: Calculus II
Choose one of the following (3 hours):
CSCI 331: Operating Systems
CSCI 361: Computer Organization
Choose one of the following (3 hours):
CSCI 453: Formal Language Theory
CSCI 454: Compiler Theory
CSCI 241: Discrete Mathematics. 3 hours.
This course includes propositional logic, induction and recursion, number theory, set theory,
relations and functions, graphs and trees an
d permutations and combinations. Same as
MATH
241
.
Prerequisite:
Two years of high school algebra.
CSCI 251: Introduction to Computer Science. 3 hours.
An introduction of various ar
eas of computer science. A major component is programming
design and development using a high level language such as C++. A disciplined approach to
problem solving methods and algorithm development will be stressed using top

down design and
stepwise refine
ment. Topics included are syntax and semantics, I/O, control structures,
subroutines and modularity, data types, and fundamental algorithms. Also discussed are the
ethics of computing. Two hours lecture, two hours lab. Recommended
CSCI 241
.
CSCI 261: Data Structures. 3 hours.
This course provides an in

depth study of data structures, including arrays, records, stacks,
queues, lists, trees, heaps and hash tables. The study
includes the definition, specification and
implementation of these structures, as well as examples of their uses. Also included is an
introduction to the internal representation of information. Prerequisite:
CSCI 241
,
CSCI 251
,
MATH 231
. It is recommended that studen
ts receive a grade of C or better in these prerequisites
to be successful in this course.
CSCI 262: Algorithms. 3 hours.
This course examines the design and efficiency of sequential and parallel algorithms. Problem

solving strategies and techniques are ce
ntral. The algorithms studied include sorting and
searching, pattern matching, graph algorithms and numerical algorithms. Standard algorithmic
paradigms are studied: divide and conquer, greedy methods and dynamic programming. We will
consider the time and
space complexity analysis of sequential and parallel algorithms and proofs
of algorithm correctness.
Prerequisite:
CSCI 261
. Recommend
MATH 234
or
MATH 235
. It is
also recommended that students receive a grade of C or better in
CSCI 261
to be successful in
this course.
CSCI 331: Operating Systems. 3 hours.
The concepts underlying operating systems are studied. Topics include file systems, CPS
scheduling, memory management, deadlocks, concurrent
processes, and protection.
Prerequisite:
CSCI 261
.
CSCI 340: Numerical Analysis. 3 hours.
Numerical techniques for finding mathematical solutions are studied. These alg
orithms are
implemented in computer systems for solving mathematical problems. Included are
approximating solutions of equations and numerical differentiation and integration. Numerical
solutions for differential equations and linear systems also may be st
udied. Same as
MATH 340
.
Prerequisite:
MATH 231
,
MATH 232
.
CSCI 351: Programming Languages. 3 hours.
This course includes the history, design, and implementation of various programming languages.
The strengths and weaknesses of each language will be studied and the comparisons among the
languages wil
l be highlighted. The specific languages studied may include a scientific language
such as Fortran, an object oriented language such as JAVA, a functional language such as LISP,
and a database query language such as SQL. Also included will be brief introdu
ctions to
compiler design and to automata and formal language theory.
Prerequisite:
CSCI 262
.
CSCI 361: Computer Organization. 3 hours.
A detailed study designed to tea
ch the building blocks of a computer system and basic computer
organization concepts. Subjects include hardware, machine code, assembly language, compilers,
operating systems, and high

level languages, as well as digital logic, performance issues, and
bina
ry arithmetic.
Prerequisite:
CSCI 262
.
CSCI 371: Software Engineering. 3 hours.
Systems Engineering concepts for the design and implementation of computing projects. P
roject
life cycle studies include rapid prototyping paradigms as well as the classical cycle of
requirements, design and implementation phases. Project management is discussed, including
considerations in selecting hardware platforms. The methodologies are
reinforced through a
group project.
Prerequisite:
CSCI 262
.
CSCI 453: Formal Language Theory. 3 hours.
A formal study of the mathematical basis for computer software.
The following topics are
included: finite automata, regular expressions, context

free languages, pushdown automata,
Turing machines, decidability, and computability.
Prerequisite:
CSCI 351
;
MATH 234
or
MATH 235
.
CSCI 454: Compiler Theory. 3 hours.
The translation of high

level l
anguages into low

level languages is studied, including syntax
definition, lexical analysis, syntax analysis, and the role of the parser. Other topics include type
checking, run

time environments, code generation, and code optimization.
Prerequisite:
CSCI
351
. Recommend
CSCI 453
.
CSCI 461: Artificial Intelligence. 3 hours.
A survey of t
he main applications of artificial intelligence includes natural language processing,
robotics and expert systems. The principles of artificial intelligence are studied, including such
topics as search strategies, deduction systems and plan generation syst
ems. Labs use a version of
the LISP language.
Prerequisite:
CSCI 351
.
CSCI 493: Research and Development. 3 hours.
Experience in research and development of computer so
ftware in a topic such as automated
scheduling. Requires team development and delivery of an application and participation in
departmental assessment activities.
Prerequisite:
CSCI 351
,
CSCI 361
,
CSCI 371
.
Evansville (ABET accredited)
Overview: 39 hour
s CSC core, 12 hours CSC electives, 3 hours discrete, 9 hours
Calculus. Since it is accredited, there has to be other sciences in there too.
CS 101 Introduction to Computer Science 3
CS 210 Fundamentals of Programming I 3
CS 215 Fundamentals of Program
ming II 3
CS 220 Logic Design and Machine Organization 3
CS 290 Object

Oriented Design 3
MATH 370 Discrete and Combinatorial Mathematics 3
CS 380 Programming Languages 3
CS 381 Formal Languages 3
CS 390 Software Engineering 3
CS 315 Algorithms and Dat
a
Structures
3
CS 320 Computer Architecture 3
CS 470 Operating Systems 3
CS 495 Senior Project Phase I 3
CS 495 Senior Project Phase II 3
4 electives @ 3 hrs
3 semesters of calculus
CS
–
101
Introduction to Computer Science
(3 credits)
Introduction to th
e University and departmental computing environments, and some
simple programming concepts. Topics include ethics and current events in technology.
Culminates in a multidisciplinary team project with electrical and computer engineering.
Restricted to compu
ter science majors and minors. Fall.
CS
–
105
Survey of Computer Science
(3 credits)
CS
–
205
Programming for the Sciences
(3 credits)
CS
–
210
Fundamentals of Programming I
(3 credits)
Emphasizes problem

solving techniques used in the analysis and design of
software
solutions, including structured top

down design, abstraction, good programming style,
debugging and testing. Programming constructs covered include control structures,
functions, and basic, aggregate and user

defined data types. Introduction to o
bject

oriented design and recursion. Fall, spring.
CS
–
215
Fundamentals of Programming II
(3 credits)
Project and problem

solving course emphasizes the use of classes for encapsulation of
abstract data types and abstract data structures. Topics include cl
asses, templates,
dynamic allocation, searching and sorting, recursion and exception handling.
Prerequisite: Computer Science 210. Fall, spring.
CS
–
220
Logic Design and Machine Organization
(3 credits)
Introduction to logic design and computer hardware c
oncepts. Topics include Boolean
algebra, number representations, sequential logic, counters and registers, microcomputer
architecture and assembly language programming. Spring.
CS
–
290
Object Oriented Design
(3 credits)
In

depth study of abstract data typ
es and objects, including inheritance and
polymorphism, frameworks and design patterns, and the use of these principles in
problem solving and program design. Prerequisite: Computer Science 215. Spring.
CS
–
310
Puzzle Programming
(1 credit)
Study of probl
em solving under time pressure. Simulation of the programming contest
environment. All problems considered come from past programming contests. Highly
recommended for any student interested in programming competitions. Prerequisite:
Computer Science 215 or
permission of the instructor. May be repeated for up to three
credit hours. Fall.
CS
–
315
Data Structures and Algorithms
(3 credits)
Design and implementation of data structures and algorithms with attention to complexity
and space analysis. Problem

solv
ing strategies including greedy and divide

andconquer
algorithms as well as dynamic programming techniques. Prerequisites: Computer Science
215, Mathematics 370. Spring.
CS
–
320
Computer Architecture
(3 credits)
Studies the architecture of computer system
s from four

bit machines to supercomputers.
Memory systems, I/O processors, and multi

computer systems are studied in detail.
RISC, CISC and Neural Nets are introduced. Establishes the relationship of hardware and
software. Includes hands

on projects deali
ng with graphical user interfaces and their
implementation. Prerequisite: Computer Science 215
CS
–
350
Computer/Human Interaction
(3 credits)
Study of user interface design, including ergonomic factors. Includes hands

on projects
dealing with graphical us
er interfaces and their implementation. Prerequisite: Computer
Science 215.
CS
–
355
Computer Graphics
(3 credits)
Fundamental course in computer graphics. Topics include rendering two and three

dimensional images, two and three

dimensional transformations
, line clipping, hidden
lines, shading and perspective projections.
CS
–
375
Unix System Programming
(3 credits)
Coverage of UNIX software development and UNIX administration. Includes discussion
of common shells and scripting languages, X Windows and inte
rprocess communication.
CS
–
376
Small Computer Software
(3 credits)
Introduction to graphical user interface provided by Windows153 operating system.
Topics include the Win32 API, timers, basic graphics, controls, dynamic

link libraries
(DLLs) and an intr
oduction to device drivers.
CS
–
380
Programming Languages
(3 credits)
Comparative analysis of selected high

level languages. Covers virtual computers
represented by various programming languages, representation of data types, sequence
control constructs,
data access, scoping, typing systems, runtime storage management,
languages semantics, alternative, programming paradigms and parallel language
constructs.
CS
–
381
Formal Languages
(3 credits)
Models of computation including finite automata, regular gramm
ars, regular expressions,
pushdown automata, context

free grammars, Turing machines, computability and
undecidability.
CS
–
390
Software Engineering
(3 credits)
Study of the software design and development process in the context of a large group

programmin
g project. Topics covered include: project management, software
management, requirements and specifications methods, software design and
implementation, verification and validation, aspects of software testing and
documentation standards, technical documen
ts, contracts, risks and liabilities.
CS
–
415
Cryptography
(3 credits)
Introduces conventional and public

key cryptography, cryptosystems such as DES and
RSA, and applications of cryptography to network and system security.
CS
–
430
Artificial Intelligence
(3 credits)
Basic ideas and techniques underlying the design of intelligent computer systems. Topics
include heuristic search, problem solving, game playing, knowledge representation,
logical inference and planning. Advanced topics such as robotics, expe
rt systems,
learning and language understanding as time allows.
CS
–
440
Databases
(3 credits)
Presents database concepts and architectures. Topics include basic file structures, data
dictionaries, data models, languages for data definition and queries, an
d transaction
management for data security, concurrency control and reliability. Hands

on experience
with database and query systems.
CS
–
470
Operating Systems
(3 credits)
Components of operating systems. Tasking and processing; process coordination and
s
cheduling; memory organization and management; device management; security;
networks; distributed and real

time systems.
CS
–
475
Networks
(3 credits)
Digital data communication systems in hardware and software, synchronous and
asynchronous communication,
standards, protocols, network configurations, network
applications.
CS
–
478
Embedded Systems and Real

Time Programming
(3 credits)
Covers real

time programming techniques that are commonly used on embedded
systems. Topics include real

time operating syste
m concepts, concurrent programming
and task scheduling algorithms, mutual exclusion and synchronization methods, and
interprocess communication. Students gain real

world experience by writing applications
for two popular embedded operating systems. Spring.
CS
–
480
Compilers Programming
(3 credits)
Theoretical and practical aspects of compiler construction. Covers lexical analysis,
parsing, code generation and code optimization. Includes implementation of a usable
compiler.
CS
–
494
Senior Project Seminar Pr
ogramming
Provides guidance for the selection of a topic for the senior design project. Projects (some
industry

sponsored) are presented for student selection. An outline and short presentation
of the project selected is required.
CS
–
495
Senior Project P
hase I Programming
(3 credits)
Plan the computer science project and formulate the preliminary design under the
guidance of faculty and industrial advisors. Discussion of the relationship of computer
science as a discipline to the humanities and social sc
iences. Preparation of a written
formal proposal and an oral presentation of the proposal. Seminar session addresses
ethical, environmental, economic, safety and ergonomic aspects of computer science.
Written reaction to seminar topics. Fall.
CS
–
497
Senio
r Project Phase II Programming
(3 credits)
Student completes and builds the design proposed in Computer Science 495. A formal
design review is conducted early in the semester. A practice oral report, a written final
report, a final oral report and a demon
stration of the completed project are required.
CS
–
498
Independent Study in Computer Science Programming
(1

3 credits)
Independent study of a topic of interest to the student. Requires faculty sponsor and
approved detailed study plan.
CS
–
499
Special Top
ics in Computer Science Programming
(1

3 credits)
Study of topics of special interest. Topics will be announced. May be repeated.
Prerequisites will be announced when scheduled.
CS
–
515
Cryptography
(4 credits)
Introduces conventional and public

key cryp
tography, cryptosystems such as DES and
RSA, and applications of cryptography to network and system security.
CS
–
520
Computer Architecture
(4 credits)
Studies the architecture of computer systems from four

bit machines to supercomputers.
Memory systems,
I/O processors, and multi

computer systems are studied in detail.
RISC, CISC and Neural Nets are introduced. Establishes the relationship of hardware and
software. Includes hands

on projects dealing with graphical user interfaces and their
implementation.
Prerequisite: Computer Science 215
CS
–
530
Artificial Intelligence
(4 credits)
Basic ideas and techniques underlying the design of intelligent computer systems. Topics
include heuristic search, problem solving, game playing, knowledge representation,
logi
cal inference and planning. Advanced topics such as robotics, expert systems,
learning and language understanding as time allows.
CS
–
555
Computer Graphics
(4 credits)
Fundamental course in computer graphics. Topics include rendering two and three

dimensi
onal images, two and three

dimensional transformations, line clipping, hidden
lines, shading and perspective projections.
CS
–
570
Operating Systems
(4 credits)
Components of operating systems. Tasking and processing; process coordination and
scheduling; m
emory organization and management; device management; security;
networks; distributed and real

time systems.
CS
–
574
UNIX System Programming Programming
(4 credits)
CS
–
575
Networks
(4 credits)
Digital data communication systems in hardware and software,
synchronous and
asynchronous communication, standards, protocols, network configurations, network
applications.
CS
–
580
Compilers Programming
(4 credits)
Theoretical and practical aspects of compiler construction. Covers lexical analysis,
parsing, code ge
neration and code optimization. Includes implementation of a usable
compiler.
CS
–
590
Software Engineering
(4 credits)
Study of the software design and development process in the context of a large group

programming project. Topics covered include: projec
t management, software
management, requirements and specifications methods, software design and
implementation, verification and validation, aspects of software testing and
documentation standards, technical documents, contracts, risks and liabilities.
CS
–
597
Thesis Programming
(1

4 credits)
CS
–
598
Independent Study in Computer Science Programming
(1

4 credits)
Independent study of a topic of interest to the student. Requires faculty sponsor and
approved detailed study plan.
CS
–
599
Indep Study Programmi
ng
(1

4 credits)
Study of topics of special interest. Topics will be announced. May be repeated.
Prerequisites will be announced when scheduled.
Mercer (ABET accredited)
Overview: 4
3 hours CSC. 204,
205
,322,323
are 4 hours, others are 3.
MAT 191
Calc I 4 hrs
MAT 192
Calc II 4 hrs
MAT 225
Discrete 4 hrs
MAT 320
Stats 3 hrs
CSC 204
prog 1
CSC 205
prog 2
CSC 245
data struct + algor
CSC 322
org & asm lang
CSC 323
org & design
CSC 330
prog lang
CSC 340
theory computing
CSC 460
OS
CSC 4
80
SE
CSC 310 or 312
file structures or DB
CSC 324 or 360
digital desgn or data comm
CSC 380 or 450
AI or Compiler
One additional course 310 or above
CSC 204. Programming I
(4
hours)
Prerequisite:
mathematics
competency.
Students
will
gain
an
unders
tanding
of
computer
science
foundations
by
learning
how
to
program
in
a
modern
object

oriented
language.
The
basic
topics
to
be
covered
include
structured
and
object

oriented
programming,
basic
syntax
and
semantics,
simple
data
types,
control
structures,
c
lasses,
arrays,
and
graphics.
Students
will
also
“experiment”
with
the
computer,
and
learn
how
to
design,
test,
and
debug
programs.
CSC 205. Programming II
(4
hours)
Prerequisite:
CSC
204
A
continuation
of
CSC
204
with
an
emphasis
on
advance
object

orien
ted
principles.
Topics
include
inheritance,
polymorphism,
graphical
user
interfaces,
eventdriven
programming,
recursion,
and
simple
data
structures
(lists,
stacks,
queues,
and
binary
search
trees).
CSC 245. Data Structures and Algorithm Analysis
(3
hours
)
Prerequisites:
CSC
205,
and
MAT
141
or
191
A
rigorous
study
of
the
implementation
of
different
data
structures,
and
an
analysis
of
the
time
and
space
complexity
of
their
associated
algorithms.
Topics
will
include
dynamic
memory,
trees,
hashing,
heaps,
so
rting,
and
graphs.
CSC 310. Introduction to File Structures
(3
hours)
Prerequisite:
CSC
245
A
study
of
the
different
data
structures
and
algorithms
that
are
appropriate
for
the
placement
and
organization
of
data
on
secondary
storage.
Physical
characterist
ics
of
files
on
different
large
storage
devices
are
discussed.
Concepts
studied
include
indexing,
external
sorting,
B

trees,
and
extendible
hashing.
Programming
projects
related
to
file
processing
are
required.
CSC 312. Database Systems
(3
hours)
Prerequ
isite:
CSC
245
A
study
of
both
logical
and
physical
organization
of
computer
database
systems,
including
DBMS
languages,
architecture,
and
interfaces,
data
modeling,
integrity,
and
security.
Emphasis
will
be
placed
on
relational
models,
languages,
and
syst
ems.
CSC 315. Introduction to Computer Graphics
(3
hours)
Prerequisite:
CSC
205
Corequisite:
CSC
245
A
survey
of
the
basic
hardware
components
and
the
software
techniques
used
in
the
discipline
of
computer
graphics.
Topics
to
be
covered
will
include
two
and
three

dimensional
geometry,
matrix
representations
of
transformations,
clipping,
perspective,
stereoscopic
views,
viewing
in
three
dimensions,
and
device
interaction.
Visual
realism
and
animation
using
color,
shading,
lighting,
and
texturing
will
also
be
introduced.
Each
student
will
be
required
to
complete
a
project
utilizing
a
graphics
workstation.
CSC 322. Computer Organization and Assembly Language
(4
hours)
Prerequisite:
CSC
204
Designed
to
provide
an
introduction
to
fundamental
concepts
of
the
o
rganization
and
operation
of
a
computer
and
to
the
study
of
assembly
language
programming.
Included
will
be
the
study
of
register
sets,
symbolic
addresses,
addressing
techniques,
parameter

passing
techniques,
and
data
representation.
CSC 323. Computer Or
ganization and Logic Design
(4
hours)
Prerequisite:
CSC
322
An
introduction
to
the
basic
organization
of
a
digital
computer.
Topics
will
include
basic
logic
design
at
the
circuit
level,
data
coding
and
representations,
functions
of
large

scale
components
o
f
a
computer
system,
and
the
mechanics
of
information
transfer
and
control
within
a
digital
system.
Students
are
introduced
to
practical
design,
breadboarding,
and
testing
of
digital
circuits
in
the
Hardware
Laboratory.
CSC 324. Digital System Design
(3
hours)
Prerequisite:
CSC
323
Corequisite:
CSC
322
A
continuation
of
the
hardware
design
process
begun
in
CSC
323.
CSC 330. Organization of Programming Languages
(3
hours)
Prerequisite:
CSC
205
A
study
of
the
concepts
and
issues
underlying
the
design
and
implementation
of
programming
languages.
Topics
considered
will
be
the
objects
of
computation,
grammars,
ambiguity,
control
structures,
scope
and
typing
of
variables,
blockstructured
languages,
precedence,
recursion,
and
input/output
facilities.
Examples
w
ill
be
drawn
from
a
high

level
language.
CSC 335. Numerical Methods
(3
hours)
Prerequisites:
MAT
192
and
ability
to
write
programs
in
a
high

level
computer
language.
A
study
of
numerical
methods
for
the
solution
of
mathematical
problems
and
computer
app
lication
of
those
methods.
Topics
will
include:
methods
such
as
the
bisection
algorithm
and
fixed
point
iteration
for
the
solution
of
equations
with
a
single
variable,
interpolation
and
polynomial
approximation,
numerical
differentiation
and
integration,
s
olution
of
systems
of
linear
equations,
and
least
squares
approximation.
CSC 340. Introduction to the Theory of Computing
(3
hours)
Prerequisites:
MAT
225
and
the
ability
to
write
programs
in
a
high

level
computer
language.
Fundamentals
of
computing
theo
ry
are
developed
on
an
intuitive
level.
Topics
studied
include
finite
automata,
context

free
grammars,
Turing
machines,
and
recursive
functions.
The
notion
of
undecidable
or
noncomputable
problems
based
on
the
Turing
machine
model
is
discussed
briefly.
C
SC 360. Theory of Data Communications
(3
hours)
Prerequisite:
CSC
205
Consideration
of
the
design
of
communication
line
characteristics,
modems,
synchronous
and
asynchronous
line
protocols,
error
detection
and
correction
schemes
including
polynomial
codes,
basic
multiplexing,
and
concentration.
CSC 380. Artificial Intelligence
(3
hours)
Prerequisites:
CSC
245,
MAT
225
An
introduction
to
the
problem
domains
of
artificial
intelligence
and
to
the
principles
and
techniques
used
to
design
systems
that
acquire
knowledge
and
demonstrate
intelligent
responses.
Particular
areas
studied
include
deterministic
and
heuristic
search
techniques
appropriate
for
large
problem
spaces,
formal
methods
of
knowledge
representation
and
logical
reasoning,
natural
language
underst
anding,
and
neutral
nets.
CSC 415. Graphics Simulation and Visualization
(3
hours)
Prerequisite:
CSC
315
Advanced
topics
in
computer
graphics
such
as
viewing
in
three
dimensions,
representation
of
three

dimensional
surfaces
and
shapes,
texture
mapping,
h
ierarchical
kinematic
and
solid
modeling,
rendering
and
animation
of
articulated
objects,
scientific
visualization,
and
physical
aspects
of
simulation
such
as
collision
detection
and
gravity
will
be
covered.
The
design
and
implementation
of
a
graphics
proj
ect
focusing
on
real

time
simulation
will
be
required.
CSC 435. High Performance Scientific Computing
(3
hours)
Prerequisite:
CSC
335
An
introduction
to
modern
methods
in
large

scale
scientific
computing.
Topics
will
include
architectures
for
high
perfor
mance
and
parallel
computing
utilizing
both
shared
memory
and
distributed
memory
hierarchies.
Algorithms
for
parallel
computing,
as
well
as
parallel
implementations
of
codes
used
in
numerical
methods,
will
be
studied
and
their
performance
enhancements
exam
ined.
Emphasis
will
be
placed
on
code
development,
debugging,
testing,
and
optimization
on
high
performance
systems.
Students
will
complete
projects
related
to
current
computational
problem
in
science
and/or
engineering.
CSC 450. Compiler Construction
(3
hours)
Prerequisites:
CSC
245,
322,
and
MAT
225.
A
study
of
basic
techniques
of
compiler
design
and
implementation
including
formal
description
of
syntax
and
semantics,
lexical
analysis,
grammars,
syntax
analysis,
intermediate
code,
generation
of
object
c
ode,
relocation,
symbol
tables,
error
detection,
and
optimization.
Students
will
be
engaged
in
a
compiler
writing
project.
CSC 460. Operating Systems
(3
hours)
Prerequisites:
CSC
245,
322,
and
MAT
225
A
survey
of
functions
of
an
operating
system
and
the
algorithms
used
in
its
implementation.
Input/output
programming,
interrupt
processing,
memory
management,
demand
paging,
segmentation,
processor
management,
scheduling,
synchronization,
multiprocessing,
device
management,
dead

lock
avoidance,
information
m
anagement,
and
interdependencies.
CSC 480. Software Engineering
(3
hours)
Prerequisite:
CSC
245
A
study
of
current
techniques
used
in
the
development
of
large

scale
software
projects.
Topics
include
requirements
analysis,
functional
specification,
system
s
design,
implementation,
testing,
and
maintenance.
Bradley
Overview:
35

38 hrs
CSC requirements plus 7

10 hrs CSC electives to total 45,
plus 14 hours math (discre
te, calc I, calc II, elective)
45 semester hours including CS 101, CS 102, CS 140, CS 21
0, CS 215, CS 220, CS 321, CS
330, CS 370, CS 390, CS 480, CS 490, CS 491;
Mathematics

MTH 120, MTH 121, MTH122, math elective
CS 101
Introduction to Programming
4 s.h.
Introduces the fundamental concepts of programm
ing from an object

oriented perspective. Topics
include simple data types, control structures (if

else, loops, switch statements), introduction to
array and string data structures, algorithms, debugging and testing techniques, and social
implications of co
mputing.
The course emphasizes good software engineering principles and
practices, breaking the programming process into analysis, design, implementation, and testing,
with primary focus on implementation and development of fundamental programming skills.
Prerequisite: MTH 109 or MTH 112 or equivalent.
CS 102
Data Structures
3 hrs.
Introduction to concepts of object

oriented programming with review of control structures and
data types and array pr
ocessing. Introduction to the object

oriented programming paradigm,
focusing on the definition and use of classes along with the fundamentals of object

oriented
design. Overview of programming principles, simple analysis of algorithms, searching and sortin
g
techniques, and an introduction to software engineering issues.
Prerequisite: a grade of C or
better in CS 101 Introduction to Programming
or equivalent.
CS 140
Programming in C++
1 s.h.
Introduction to
C++ programming for students who are knowledgeable in an object

oriented
language (most likely Java).
Prerequisite: CS 102 Data Structures
CS 210
Data Structures and Algorithms
3 hrs.
Builds on the introduction to object

orie
nted programming begun in CS101 and CS102 (and
CS140) with an emphasis on algorithms, data structures, and software engineering.
Prerequisite:
a grade of C or better in CS 102 Data Structures or equivalent, MTH120 Discrete Math or
equivalent.
CS 215
Computability, Formal Languages and Heuristics
3 hrs.
Theory of computation and formal languages, grammars, computability, complexity, algorithms,
heuristics and foundations of intelligent systems.
Prerequisite: CS210 Data Structures and
Algori
thms, MTH122 Calculus II.
CS 220
Computer Architecture
3 hrs.
Basics of logic circuit design, modern processor architecture and assembly language. Overview
of principle issues of internal system architecture,
including memory, buses, and peripherals.
Prerequisite: CS210 Data Structures and Algorithms.
CS 321
Operating Systems
3 hrs.
Fundamentals of operating systems concepts, design and implementation. Topi
cs include
operating systems components and structures, process and thread model, mutual exclusion and
synchronization, scheduling algorithms, memory management, I/O controls, file systems, and
security.
Prerequisite: CS220 Computer Architecture.
CS 330
Net

Centric Computing
3 hrs.
Fundamentals of data communications: data transmission, data encoding, digital data
communication techniques, data link control, and multiplexing. The web as a client

server system,
building web applications, network management and security, compression and decompression.
Multi

media technologies, wireless and mobile computing, and event

driven programming.
Prerequisite: CS210 Data Structures and Algorithms.
CS 370
Databa
se Management Systems
3 hrs.
Relational database design, including entity relationship modeling and normalization. Structured
query language (SQL) for creating and querying databases. Other topics include the theory of
relational data
bases, including relational algebra, various loading and reporting utilities, and the
implementation of database management systems, e.g. how query optimization works.
Prerequisite: CS102 Data Structures.
CS 390
Software Development
3 hrs.
Introduction to Software Development. Emphasis on software design, software tools and
environments, software evolution, software project management, software processes, software
testing and validation, software life cycle an
d its phases, basics of human computer interaction
and graphic user interface.
Prerequisite: CS210 Data Structures and Algorithms.
CS 480
Social and Professional Issues
2 hrs.
Introduction to the social and professional
issues and practices that arise in the context of
computing.
Prerequisite: CS210 Data Structures and Algorithms.
CS 412
Topics in Computer Science
3 hrs. *)
Topics of special interest which may vary each time course
is offered. Repeatable under a
different topic for a maximum of six hours.
Prerequisites: consent of instructor.
*) The following elective courses are planned to be offered during 2009

2010 academic year as
CS412 or CS610 courses (please contact CS/IS Depa
rtment Chair for details):
1) “Computer Game Programming and Modification” (from Fall

2010: CIS451/651);
2) “Computer Game Design” (from Fall

2010: CIS452/652);
3) “Software and Web Applications Security” (from Fall

2010: CIS495/695);
4) “Computer Network
and System Security” (from Fall

2010: CIS435/695);
4) “Applied Cryptology” (from Fall

2010: CIS415/615);
5) “Robotics”.
CS 490
Capstone Project I
3 hrs.
Applies the concepts and skills learned by under
graduate computer science majors at Bradley
University. Students are required to work on a team on a significant software project.
Prerequisites: CS 370
or CS 390 or equivalents, or consent of instructor.
CS 491
Capstone Project II
1

3 hrs.
Applies the concepts and skills learned by undergraduate computer science majors at Bradley
University. Students are required to work on a team on a significant software project.
Prerequisites: CS 490.
CS 502
Advanced Programming
3 hrs.
Introduces the fundamental concepts of programming from an object

oriented perspective with
emphasis on advanced programming skills and good software development principles in a closed
labo
ratory setting. Covers topics including object

oriented paradigm, design and programming,
fundamental data structures and computing algorithms, and software development principles
Prerequisites: consent of graduate program coordinator; at least two semeste
rs of programming
experience.
CS 503
Programming Methodology
3 hrs.
Predicate calculus, Dijkstra’s methodology of algorithm development. Algorithm development.
Algorithmic language characteristics; syntax, semantics
. Postconditions and preconditions.
Verification of postcondition states satisfied by algorithmic programs executed from preconditions.
Problems.
Prerequisites: a grade of C or better in both MTH 120 and CS 102.
CS 510
Numerical Methods I
3 hrs.
Introduction to numerical and computational aspects of various mathematical topics: finite
precision, solutions to nonlinear equations, and interpolation, approximation, linear systems of
equations, and integration
. Cross listed as MTH 510.
Prerequisites: CS 101; MTH 207 and 223.
CS 511
Numerical Methods II
3 hrs.
Continuation of CS/MTH 510: further techniques of integration, ordinary differential equations,
numeric
al linear algebra, nonlinear systems of equations, boundary value problems, and
optimization. Cross listed as MTH 511.
Prerequisites: MTH 224 or 345; CS/MTH 510.
CS 514
Algorithms
3 hrs.
De
sign and analysis of algorithms. Dynamic structures maintenance and hashing. Searching,
sorting, and traversal. Time and space requirements; simplification; computational complexity;
proof theory and testing; NP

hard and NP

complete problems
. Prerequisites
: CS210 or
equivalent; one semester of Statistics..
CS 516
Programming Languages
3 hrs.
Design concepts of high

level languages. Description languages; grammars and syntax;
expressions and data structures;
select
ion and control structures; constructs for input and output; subprograms and parameter
communications.
Prerequisite: CS 210 or 310.
CS 518
Programming Language Translation
3 hrs.
Overview of programming language translation with
emphasis on modern compiler construction.
Lexical analysis, parsing, syntax and semantic analysis, code generation, garbage collection, and
optimization.
Prerequisite: grade of C or better in CS 210.
Co

requisite: CS 516.
CS 520
Advanced Comput
er Architecture
3 hrs.
Fundamental computer sub

systems: central processing unit; memory systems; control and
input/output units. General purpose computing systems design. Examples from existing typical
computers.
Prerequisite: CS 220 o
r equivalent.
CS 531
Web Development Technologies
3 hrs.
Introduction to PERL/CGI, XHTML, XML, JavaScript and scripting languages. Web page design
and layout. Client and server side development of web applications. Database
connectivity, Java
Database Connectivity (JDBC).
Prerequisite: CS102 or equivalent.
CS 532
Advanced Java Computing
3 hrs.
Developing Web

based systems using J2EE Java technologies. Topics include Java Security,
Ja
va GUI development using IDE, Java Servlets and JavaServer Pages, Java Enterprise
JavaBeans, XML and Java Web Services, and Java Transaction Service and Java Message
service.
Prerequisite: CS531 or equivalent.
CS 535
Introduction to Computer Gr
aphics
3 hrs.
Mathematics and algorithms of computer graphics. Device differences, lines, arcs, curves,
transformations, input and output primitives. Data structures for geometric entities.
Prerequisites:
CS 210 or equivalent, or consent
of instructor. Recommended: MTH 207, 223.
CS 561
Introduction to Artificial Intelligence
3 hrs.
Advanced
topics in artificial intelligence; pattern recognition, search strategies, game playing,
knowledge representation, logic pr
ogramming, uncertainty, vision, natural language processing,
robotics, programming in LISP and PROLOG.
Prerequisite: CS210
or equivalent.
CS 562
Intelligent Systems and Applications
3 hrs.
Gives the necessary background and prac
tice for building intelligent systems using three of the
most commercially successful applications of AI: the logical approach (expert systems, fuzzy logic
and fuzzy expert systems), the biological approach (neural networks, evolutionary programming
and ge
netic algorithms), and the statistical approach (Bayesian networks, belief networks, Markov
chain, Hidden Markov models, and statistical and neural based clustering). Students will have an
opportunity to build integrated, hybrid
intelligent systems to sol
ve problems in a variety of
applications including the medical domain, financial domain and stock market, and autonomous
robotics systems.
Prerequisite: CS210
or equivalent; one course in Statistics.
CS 563
Knowledge Discovery and Data Mining
3 hrs.
Brings together the latest research in statistics, databases, machine learning, and artificial
intelligence that are part of the rapidly growing field of the knowledge discovery and data mining.
Topics covered include fundamental issues,
classification and clustering, machine learning
algorithms, trend and deviation analysis, dependency modeling, integrated discovery systems,
next generation database systems, data warehousing and OLAP and application case studies.
Prerequisite: CS210
or e
quivalent; one course in Statistics.
CS 570
Advanced Topics in Databases
3 hrs.
Designing and building enterprise

wide data warehouses. Techniques for analyzing data in data
warehouses. Study different types of data mode
ls including logic and object

oriented databases.
Advanced topics in relational databases such as multimedia databases, distributed databases,
concurrency, security, etc.
Prerequisite: CS370 or equivalent.
CS 590
Fundamentals of Software Engine
ering
3 hrs.
Software engineering: software product; prescriptive process models; system engineering;
analysis modeling; design engineering; architectural design; user interface design; testing
strategies and techniques; software systems’ impleme
ntation; software systems’ maintenance.
Prerequisite: CS390 or equivalent.
CS 591
Software Project Management
3 hrs.
Software Project Management: large software systems’ projects; project planning; project
management con
cepts; managerial skills; software project metrics and estimates; software
process metrics; software product metrics; project scheduling; CASE tools for software project
management; software documentation.
Prerequisite: CS390 or equivalent.
CS 592
Requirements Engineering
3 hrs.
Covers topics including basic concepts and principles of software requirements engineering, the
requirements engineering process
–
requirements elicitation, requirements analysis, requiremen
ts
specification, system modeling, requirements validation and requirements management, and
techniques, methods & tools for requirements engineering and software systems requirmenets
modeling (including structured, object

oriented and formal approaches to
requirements modeling
and analysis).
Prerequisite: CS 102 or equivalent.
CS 593
Software Engineering of Web

Based Applications
3 hrs.
Software engineering of Web

based applications: Web engineering; formulation and planning of
Web

based ap
plications; analysis modeling; design modeling for Web

based applications; testing
Web

based applications; security of Web

based applications; implementation and maintenance of
Web

based applications.
Prerequisite: CS390 or equivalent.
MTH 120 Discrete Mat
hematics 3 hrs.
Introduction to graph theory, Boolean algebra, mathematical induction, and elementary combinatorics.
Prerequisites: qualifying entrance and/or math precalculus placement scores as for MTH 121; or grade of C
or better in MTH 112.
MTH 121 Cal
culus I 4 hrs. (Gen. Ed. MA)
Topics in analytic geometry; limits; continuity; differentiation; introduction to integration; applications.
Prerequisites: qualifying entrance and/or math precalculus placement scores; or grade of C or better in
MTH 112.
MTH 1
22 Calculus II 4 hrs. (Gen. Ed. MA)
Topics in calculus of logarithmic, exponential, and trigonometric functions; techniques of integration;
analytic geometry; indeterminate forms; improper integrals; infinite series. Prerequisite: grade of C or
better in M
TH 119 or MTH 121 or its equivalent.
Butler
Overview: 37 hours CSC (22 core, 6 from OS/Lang/Theory, 6 electiv
es, 1

3
methods) 9 hours math (
calc I, calc II)
All of the following courses:
o
MA 106 Calculus & Analytic Geometry 1
o
MA 107 Calculus & Analytic Geometry 2
MA 315
(? No course description for it in Math dept site)
o
CS 151 Foundations of Computing 1
(4)
o
CS 252 Foundatio
ns of Computing 2
(3)
o
CS 248 Object

Oriented Programming an
(5)
o
CS 321 Computer Organization
(3)
o
CS 351 Algorithms
(3)
o
CS 485 Computer Ethics
(1)
o
SE
361 Object

Oriented Design
(3)
One of the following:
o
CS
473 Topics in Computer Science
(3)
o
CS 490
Research Methods
(2)
o
CS 491 Senior Seminar
(1)
Two of the following three courses:
o
CS 431 Theory of Operating Systems
(3)
o
CS 441 Organization of Prog Lang
(3)
o
CS 451 Theory of Computation
(3)
Six additional credit hours of CS or SE electives numbered 270 or above
Total Credits: 37 computer science and 12 mathematics.
Drake
Overview:
25 hour core that includes 18 hours (6 courses) CSC and 1
0 hours Math
(discrete, calc I, linear). Additional 9 hours elective CSC (3 courses), plus 6 more
ho
urs (2 courses) elective CSC/Math/Stats/ActSci, plus “culminating project” which
can be part of another course. 27

33 hours CSC courses.
Requirements for a
major in Computer Science fall into four categories. They can be satisfied with work in computer
science and mathematics totaling 40

50 hours, depending upon the specific courses chosen.
CORE (25 Hours)
Title
Number
Hours
Prerequisites
Discrete Mathem
atics
MATH 54
3 hours
Four years of high school math or MATH 20
Calculus I
MATH 5
0
4 hours
MATH 20 or equivalent and trigonometry
Linear Algebra
MATH 80
3 hours
MATH 50
Introduction to Computer Science I
CS 65
3 hours
Four years of high school math or MATH 20
Introduction to Computer Science II
CS 66
3 hours
CS 65
Computer Organization and
Assembly Language
Programming
CS 130
3 hours
CS 65
Programming Languages
CS 135
3 hours
CS
130
One of the following courses:
Data Structures and Algorithm Analysis
CS 137
3 hours
CS 66, MATH 54 or 50
Theory of Computation
CS 139
3 hours
CS 66, MATH 54 or 50
UPPER

DIVISION COMPONENT (15 Hours)
A
. At least nine hours (chosen with the approval of the advisor) from:
1.
Other
computer science courses
numbered 100 or above (excluding CS 140, the Tutoring course, and the Capstone
course)
2.
Information Systems (IS) courses numbered 145 or higher
B
. The balance
(6 typical)
(chosen with the approval of the advisor) fr
om:
1.
Other
computer science courses
numbered 100 or above (excluding CS 140, the Tutoring course, and the Capstone
course)
2.
Information Systems courses numbered 145 or higher
3.
MATH 70
(Calculus II) STAT 71 (Statistics I); STAT 72 (Statistics II)
4.
ECON 107 (Introduction to Econometrics); ECON 176 (Mathematical Economics)
5.
Mathematics courses
, statistics, actuarial science, or quantitative methods numbered 100 or above (MATH 101 and
CS 114 cannot both be counted, MATH 140 and the Capstone course cannot be counted)
6.
Other courses chosen
with the approval of the department advisor
CULMINATING PROJECT
A culminating project, usually completed during the student's senior year, will demonstrate mastery of concepts from the
core curriculum. The project will be chosen by the student with advi
sor approval and should contain a significant design,
implementation, or research component and include at least one public presentation of the work and its results. The
project may be completed either as part of other course work or as an independent stud
y.
65. INTRODUCTION TO COMPUTER SCIENCE I

3 hrs.
An introduction to the field of computer science is provided emphasizing problem solving
using a high

level programming language. Algorithms, basic data representation, language
control structures, debugg
ing, and program verification will be discussed. Objects will be
introduced, used, and created.
Prereq
.: Four years of high school mathematics or MATH 20.
66. INTRODUCTION TO COMPUTER SCIENCE II

3 hrs.
This course extends the work of CS 065. This objec
t of the course is to understand data
abstraction in computer science and to learn how to implement user

defined data types in
an object

oriented language. Sorting, searching and tree traversal algorithms are used and
analyzed. Preparation for further stud
y in computer science.
Prereq
.: CS 65 or equivalent.
130. COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE PROGRAMMING

3
hrs.
Computer organization and architecture; internal representation of programs and data;
assembly language programming; addressing techn
iques; macros; assemblers; linking;
input/output concepts.
Prereq
.: CS 65 or equivalent.
135. PROGRAMMING LANGUAGES

3 hrs.
Principles of programming languages are studied from the perspectives of design and
implementation. Syntactic and semantic feature
s are examined in a variety of languages.
Run

time structures for handling both data and control structures are introduced. The
course concentrates on imperative and object

oriented paradigms, but also covers
functional and logic languages.
Prereq
.: CS 130
.
137. DATA STRUCTURES AND ALGORITHM ANALYSIS

3 hrs.
Formal and informal methods for analyzing the correctness and efficiency of algorithms.
Implementation and analysis of advanced algorithms and data structures such as AVL trees,
B

trees, hash

tables,
heaps, and graph algorithms. Introduction to complexity theory and
NP

Completeness.
Prereq
.: MATH 54, CS 66.
139. THEORY OF COMPUTATION

3 hrs.
Theoretical foundations of computing. Introduction to formal grammars, languages and
automata theory. Mathemat
ical analysis of the fundamental power and limitations of
computing devices. Applications to pattern matching, problem specification, programming
languages and compilers.
Prereq
.: MATH 54, CS 66.
140. COOPERATIVE EDUCATION

1

3 hrs.
Students who are in a
work environment related to the major field of study may receive
credit for applications of classroom knowledge to their job. The student meets regularly with
the adviser to determine appropriate assignments. May be repeated up to a maximum of
eight hours
of credit. (Graded on a credit/no credit basis.)
Prereq
.: At least junior standing or consent of instructor.
143. ARTIFICIAL INTELLIGENCE

3 hrs.
Introduction to the theory, tools and methods of artificial intelligence. Topics include
knowledge represen
tation, predicate calculus, basic data structures, and problem solving
strategies. A symbol manipulation language is used. Computer science aspects of artificial
intelligence are emphasized. Applications from areas such as natural language
understanding, v
ision or expert systems are examined.
Prereq
.: CS 66, 130.
146. OBJECT

ORIENTED SOFTWARE / UML

3 hrs.
Practical experience in state

of

the

art techniques for object

oriented software
development, especially the use of "Unified Modeling Language (UML)."
UML is now the de
facto standard for expressing the intricate static and dynamic details of today's complex
software products. The course focuses on learning to develop highly organized and
maintainable programs, and on using UML and "Design Patterns" as a
means for expressing
their features and guiding their design. Team work is also stressed.
Prereq
.: CS 66
147. COMPUTER GRAPHICS

3 hrs.
Introduction to the drawing methods, geometrical transforms, and illumination models that
are fundamental to compute
r graphics programming. The course is designed to be hands on
in which students will implement several of the algorithms discussed in class using C/C++
and the OpenGL toolkit.
Prereq
.: Knowledge of C and MATH 80 or consent of instructor.
150. DISCRETE STR
UCTURES (MATHEMATICS 150)

3 hrs.
Foundations of discrete mathematics and the problems that can be solved using finite
processes and sets of elements that can be listed. Topics covered will include algorithms,
graph theory, and combinatorics.
Prereq
.: CS
65 and MATH 101.
160. OPERATING SYSTEMS

3 hrs.
Introduction to the design, development and implementation of operating systems.
Problems of resource allocation, concurrency, file system design, networking and the
interface between hardware and software
. Examination of actual operating system source
code.
Prereq
.: CS 130.
161. COMPILER CONSTRUCTION

3 hrs.
This course provides an understanding of the various phases of the programming language
translation process. Compiler principles and tools are exami
ned, and applied to the
development and implementation of a working language processor. Various parsing
techniques are compared.
Prereq
.: CS 66.
165. INTRODUCTION TO NUMERICAL ANALYSIS (MATHEMATICS 165)

3 hrs.
A practical introduction to numerical compu
ting. The primary focus is the concepts and tools
involved in modeling real continuous mathematical or engineering problems on the digital
computer. The effects of using floating point arithmetic, error analysis, iterative methods for
solving equations, an
d numerical integration and differentiation will be studied.
Prereq
.: CS 65, MATH 80 and 100.
172. DIGITAL COMPUTER ORGANIZATION

3 hrs.
Exploration of how computers are constructed. Topics include the components of modern
computer organization: the set
of instructions, processor design and layout, clock speed,
pipelining, access to cache, and virtual memory. Each one of these components will be
studied in depth, in addition to basic digital circuits and combinational logic, with a focus on
the decisions
the must be made in order to develop an efficient computer.
Prereq
.: CS 130.
North Central College
Overview: BA/BS in Computer Science. The Computer Science course requirements are
identical for both BA and BS. They are on quarters. The CS 1 and CS
2 courses are 3.5 credits
and all other CSC courses are 3.0 credits. 22 hours CSC core
(includes discrete structs)
, 9
hours application electives, 9 hours other CSC electives. Total of 40 CSC credit hours in the
major
, includes discrete
.
BS requires Ca
lc 2, Stats, one add’l math.
BA requires minor.
Core Courses
The core courses provide a strong foundation for understanding all facets of the field of
computer science. The core consists of the following
seven
courses:
CSC 160 Computer Science I
CSC 161
Computer Science II
CSC 210 Data Structures and Algorithms
CSC 220 Computer Systems Concepts
CSC 230 Discrete Structures
CSC 306 Software Development in C++
CSC 495 Capstone Seminar
Application Electives
In addition to the core, each student selects
three
application electives from the list of
computer science courses below:
CSC 420 Operating Systems (recommended)
CSC 453 Systems Analysis
CSC 454 Object

Oriented Analysis and Design
CSC 460 Database Management Systems
CSC 465 Principles of Program
ming Languages (recommended)
CSC 469 Data Communications and Networking
Three
additional computer science electives are required. Students may choose from any
computer science course to fulfill this elective requirement.
CSC
160
Computer
Science
I
CSC
161
Computer
Science
II
CSC
171
Elements
of
Java
I
CSC
172
Elements
of
Java
II
CSC
210
Data
Structures
&
Algorithms
CSC
215
Introduction
to
Web
Programming
CSC
220
Computer
Systems
Concepts
CSC
225
Web
Programming
with
Flash
CSC
230
Discrete
Structures
CSC
242
Introduction
to
Bioinformatics
CSC
255
In
troduction
to
Windows
Programming
CSC
297
Internship
CSC
299
Independent
Study
CSC
306
Software
Development
in
C++
CSC
330
Discrete
Structures
II
CSC
397
Internship
CSC
399
Independent
Study
CSC
415
Web
Programming
CSC
420
Operating
Systems
I
CSC
425
Computer
Graphics
CSC
427
Linux
Programming
CSC
43
1
Advanced
Windows
and
.NET
Programming
CSC
435
Windows
Game
Programming
CSC
4
36
Human
Computer
Interaction
CSC
440
Algorithms
CSC
453
Systems
Analysis
CSC
454
Object

Oriented
Analysis
and
Design
CSC
455
Project
Management
CSC
460
Database
Management
Systems
CSC
464
Data
Mining
CSC
465
Principles
of
Programming
Languages
CSC
469
Data
Communication
and
Networking
CSC
479
Computer
and
Network
Security
CSC
487
Parallel
Processing
and
Concurrent
Programming
CSC
490
Special
Topics
CSC
497
Internship
CSC
499
Independent
Study
Elon University
Overview:
BS requires 6
0
semester hours
(32 hours core CSC, 12 hours elective CSC, 4 hours
discrete,
12
hours add’l math
)
, BA is 52 semester hours
(8 hours elective C
SC, no science)
A Bachelor of Science degree in Computer Science
requires the following courses:
CSC 130 Computer Science I 4 sh
CSC 230 Computer Science II 4 sh
CSC 330 Computer Science III 4 sh
CSC 331 Algorithm Analysis 4 sh
CSC 335 Programming Languag
es 4 sh
CSC 342 Computer Systems 4 sh
CSC 442 Mobile Computing 4 sh
CSC 462 Software Development/Capstone 4 sh
MTH 206 Discrete Structures
Select one course from the following: 4 sh
MTH 221 Calculus and Analytic Geometry II
MTH 306 Applied Matrix Theory
Select one course beyond core math requirement 4 sh
Probability/Statistics: if core math requirement was MTH 121, then
MTH 112 General Statistics or a probability and/or statistics course
or
Quantitative Analysis: if core math requirement was MTH 112, then
MTH 121 Calculus and Analytic Geometry 1
Three courses from the following: 12 sh
CSC 410 Artifi cial Intelligence
CSC 415 Numerical Analysis
CSC 420 Game Programming and Computer Graphics
CSC 430 Advanced Programming Concepts
CSC 431 High Performance Com
puting
CSC 499 Research
CSC 300

400 level elective
Either: 8 sh
CHM 111, 112, 113, 114,
or
PHY 113, 114, 117, 118,
or
BIO 111, 112, 113, 114
CSC 130. COMPUTER SCIENCE I 4 sh
This introduction to programming and problem solving emphasizes applications fro
m
quantitative disciplines and incorporates weekly group practicum experiences. Offered fall
and spring.
CSC 171. SPECIAL TOPICS 1

4 sh
Students study specialized pieces of software and programming languages. Prerequisite:
CSC 130.
CSC 230. COMPUTER SCIENC
E II 4 sh
This course continues the study of object

oriented programming with an emphasis on
graphical user interfaces, event handling, inheritance, polymorphism, basic data structures,
software engineering, recursion and the social context of computing. P
rerequisite:
CSC 130. Offered fall and spring.
CSC 330. COMPUTER SCIENCE III 4 sh
This course introduces concepts and methodologies to design and implement a distributed,
multi

tier application. Students will cover advanced java features and look at advanc
ed
graphical user interface topics, multithreading, networking, java database connectivity and
web applications. Prerequisite: CSC 230. Corequisite: MTH 206. Offered fall.
C O M P U T I N G S C I E N C E S
111
CSC 331. ALGORITHM ANALYSIS 4 sh
Students anal
yze structures and appropriate algorithms to determine the amount of
resources necessary to execute the algorithm. Students will explore algorithmic approaches
for problem solving and theoretical techniques for arguing effi ciency. Prerequisite: CSC
230, M
TH 206. Offered spring.
CSC 335. PROGRAMMING LANGUAGES 4 sh
This course provides an introduction to the theory and practice of formal languages. The
topics of automata theory, grammar formalisms and Turing machines provide the theoretical
foundation for pr
actical issues such as data typing, control structures and parameter
passing. Programming assignments involve the use of several languages. Prerequisite: CSC
230, MTH 206. Offered spring.
CSC 342. COMPUTER SYSTEMS 4 sh
This course involves the study of the
basic building blocks of modern computer systems.
Topics include digital logic, machine

level representation of data, assembly

level organization,
operating system primitives and concurrency. Prerequisite: CSC 230. Corequisite:
MTH 206. Offered fall.
CSC
351. THEORY OF COMPUTATION 4 sh
In this introduction to theoretical computer science and analysis of discrete mathematical
structures which fi nd application in computer science, topics may include predicate
calculus, groups, coding theory, graphs, trees,
formal languages, grammars, fi nite state
automata, Turing machines and complexity theory. CSC 351 is cross

listed with MTH 351.
Prerequisites: CSC 130, MTH 121, 206. Corequisite: CSC 230. Offered when demand is
suffi cient.
CSC 371. SPECIAL TOPICS 1

4 sh
Topics such as genetic programming, grid computing, decision analysis, design of database
management systems, robotics, simulation and high

performance computing are offered
when demand is suffi cient.
CSC 410. ARTIFICIAL INTELLIGENCE 4 sh
This course is a
n introduction to the area of Artifi cial Intelligence systems. Students will
learn concepts of knowledge representation, reasoning, acting under uncertainty and learning.
Applications studied will include game playing, natural language and expert systems.
Prerequisite: CSC 331. Offered fall alternating years.
CSC 415. NUMERICAL ANALYSIS 4 sh
(Cross

listed with MTH 415.)
CSC 420. GAME PROGRAMMING AND COMPUTER GRAPHICS 4 sh
A study of two major areas of programming video games: graphics and gaming. Students
will learn the fundamentals of two

and three

dimensional graphic programming, including
object transformations, ray tracing, collision detection and animation as well as the
components of gaming, including intelligent game playing, types of games and crea
ting
engaging storylines. Prerequisite: CSC 335. Offered fall alternating years.
CSC 430. ADVANCED PROGRAMMING CONCEPTS 4 sh
This course will focus on advanced programming concepts beyond the core computer
science material. The material in the course conti
nually evolves guided by the needs of
students, the expertise of faculty members and technology trends. Currently, the course
focuses on developing enterprise level, multi

tier distributed applications. The course
explores the major technologies used by se
rver side applications. Using a commercial
application server, students will design and implement a signifi cant programming project
using either Enterprise JavaBeans or WebServices. Prerequisites: CSC 330, CSC 331.
Offered spring alternating years.
CSC 43
1. HIGH PERFORMANCE COMPUTING 4 sh
This course gives an introduction to high performance computing and its applications
within science and engineering. The main emphasis of the course is on techniques and
tools for effi ciently solving large and computatio
nally intensive problems on parallel
computers. Prerequisite: CSC 331, CSC 342. Offered spring alternating years.
CSC 442. MOBILE COMPUTING 4 sh
This course introduces the emerging fi eld of mobile and wireless computing. This course
will cover a range of
topics including wireless networking, location

aware computing,
ad

hoc networks and the development of software for mobile devices. Prerequisite: CSC
330, CSC 342. Offered spring.
CSC 462. SOFTWARE DEVELOPMENT/CAPSTONE 4 sh
This capstone course combines a
range of topics integral to the specifi cation, design,
implementation and testing of a medium

scale software system. In addition to material on
software engineering, the course includes material on human computer interaction and on
professionalism and eth
ical reponsibilities in software development. Prerequisites: CSC
330, CSC 335. Offered fall.
CSC 481. INTERNSHIP IN COMPUTER SCIENCE 1

4 sh
Advanced work experiences in Computer Science are offered on an individual basis when
suitable opportunities can be
arranged. Prerequisites: permission of instructor.
CSC 491. INDEPENDENT STUDY 1

4 sh
CSC 499. RESEARCH 1

4 sh
Students engage in undergraduate research under the direction of a computing sciences
faculty member. Maximum of eight semester hours total credit
. Prerequisite: Eligibility as
determined by the undergraduate research guidelines of Elon University and approval by
the department.
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο