|
Computer Science
Courses |
| 100 - Elements of Computer Science |
2 cr. |
| A
survey of topics necessary for basic computer
literacy. Includes laboratory exercises.
Credit not given to computer science majors
or minors. Example syllabus.
|
| 101 - Basic Programming
|
3 cr. |
Computer programming in Visual Basic. Algorithm development and data
representation. Credit not given to computer science majors or minors.
|
| 103 - JavaScript Programming
|
3 cr. |
Programming
constructs and heuristics using JavaScript,
including object based programming, objects,
properties, events, methods, variables, constants,
functions, and structured concepts. Emphasis
is on using JavaScript for web interactivity
and forms processing. Prerequisites: COSC 130 or QSMIS 183 or
MM 226.
|
| 130 - Fundamentals of
the Internet |
3 cr. |
Technical concepts
of electronic mail, web browsing concepts
and advanced features, HTML and web page design,
technical concepts of the Internet, advanced
Internet services, concepts and issues in
electronic publishing, ethics and security
issues. Prerequisite: COSC 030 or equivalent.
Example syllabus.
|
| 135 - Introduction to Computer Science |
3 cr. |
An introduction to fundamental computer science concepts for
non-computer science majors. Provides high-level coverage of topics
that may include Operating Systems (such as Windows), Programming
Languages, Software Engineering, Computer Graphics, Artificial
Intelligence, the Internet and World Wide Web, Computer Architecture
(such as those from Intel), Algorithms and Problem Solving, Data
Storage, Computer Security, and Social and Ethical Aspects of
Computing.
Prerequisite: None.
|
| 150 - Computer
Programming: C++ |
3 cr. |
Object oriented
programming, objects and classes, data abstraction,
functions, looping, selections, control structures,
arrays, searching, and sorting.
|
| 160 - Scientific
Programming: C++ |
3 cr. |
Object oriented
programming, objects and classes, data abstraction,
functions, looping, selections, control structures,
arrays, searching, and sorting in an environment
with scientific and mathematical applications.
|
| 215 - Java with Data
Structures |
3 cr. |
An introduction
to Java with Classes and data abstraction,
queues, linked lists, recursion, stacks, trees,
string processing, searching and sorting,
and hashing. Prerequisites: 150/160
and MATH
135 (may be taken concurrently).
Example syllabus.
|
| 220 - Computer Organization
and Assembly Language |
3 cr. |
Basic structure
of computer hardware and software, data representation,
addresses and instructions, control structures,
device drivers, files, and macros. Prerequisite:
215.
|
| 300 - Advanced Data
Structures |
3 cr. |
Data organization,
connections between the design of algorithms
and the efficient implementation and manipulation
of data structures. Abstract data types, tries,
B-trees, and graphs. Prerequisite:
215.
Example syllabus.
|
| 305 - Digital Logic |
3 cr. |
Boolean algebra
and logic gates, combinational logic, decoders,
encoders, multiplexers, registers, counters,
memory units, flip-flops, algorithmic state
machines, and digital integrated circuits.
Prerequisite:
220.
|
| 308 - Numerical Analysis |
3 cr. |
Identical to
MATH
308. Credit only given for one of COSC
308 or MATH
308. Prerequisite: 150/160
and MATH
116.
|
| 311 - System Programming
and Design |
3 cr. |
Interaction
between software and hardware components in
an integrated system, program translation
issues, assemblers, linkers, loaders, and
compilers. Prerequisite: 220.
|
| 325W - Operating Systems
and Computer Architecture |
3 cr. |
Organization
of operating systems and basic computer architecture.
Implementing multiprogramming, memory management,
communicating with input/output devices, concurrency,
synchronization, file systems and scheduling
the processor. Prerequisite: 220.
|
| 350W - Computers and
Humanity |
3 cr. |
An exploration of the impact of computers on present and future
society including sociological and philosophical issues in computer
science. Prerequisite: One course in computer science on the 200
level.
|
| 401 - Data Base Management
Systems |
3 cr. |
The use, design,
and implementation of data base management
systems. Topics include data models, current
DBMS implementations, and data description,
manipulation, and query languages. Prerequisite:
300.
|
| 410 - Artificial Intelligence
|
3 cr. |
Knowledge representation
and natural language processing, search strategies,
design and applications of heuristics, expert
systems, and applications. Prerequisite: 300. Example syllabus.
|
| 418 - Formal Languages
and Automata |
3 cr. |
Formal languages
and their relation to automata. The Chomsky
language hierarchy, recognition of languages
by automata, Turing machines, decidability,
and computability. Prerequisite: 220. Example syllabus.
|
| 425 - Computer Graphics |
3 cr. |
Geometric generation
of two- and three-dimensional graphics. Scan
conversion, geometric transformation, clipping,
interaction, curves and surfaces, and animation.
Prerequisite: 300.
|
| 430 -
Web-Based Systems |
3 cr. |
HTTP/HTML,
client server scripting, active server/CGI
technology, data store access/modification,
cascading style sheets, and accessing the browser
document object model. Prerequisite: 300.
Example syllabus.
|
| 435 - Theory of Programming
Languages |
3 cr. |
Syntactic and
semantic issues in program language definition
and implementation. Static vs. dynamic properties,
parameter passing, recursion, and language
comparisons. Prerequisite: 300. Example syllabus.
|
| 445W - Systems Analysis
and Software Design |
3 cr. |
Methods and
tools for the structuring and modular design
of large systems, organization and techniques
of team programming, design evaluation and
validation. Prerequisite: 300. Example syllabus.
|
| 450 - Computer Networks |
3 cr. |
Network technologies,
protocols, and management. Programming networked
applications. The effects of the Internet
and World Wide Web on computing and society.
Prerequisite: 300 and 325W. Example syllabus.
|
| 460 - Computer Security |
3 cr. |
Network, database,
and Web security, threat models, elementary
and advanced cryptology, protocol analysis,
covert channels, access control and trust
issues, legal and ethical issues in security.
Prerequisite: 325W.
|
| 480W - Senior Project
|
1-3 cr. |
An individual
or group project involving a significant programming
component, documentation, and written report
on a topic of current interest in computer
science. Prerequisites: Senior status and
300.
|
| 491-499 - Selected Topics
in Computer Science |
1-3 cr. |
| Topics selected in consultation
with the advisor. Prerequisite: Consent of the department
chairperson. |