100 Computer Information Technologies
3 crs (2.5-1). F, Sp.
GE-IB
No credit toward computer science major or minor. Not
applicable for satisfying B.S.-GE-IB requirement in College
of Arts and Sciences.
Development and application of appropriate processes and
tools to access, organize, evaluate, and communicate
information using spreadsheets (MS Excel), word processors
(MS Word), databases (MS Access), presentation software (MS
PowerPoint), and web-based/internet utilities. Appropriate
for students seeking a broader or deeper preparation for
efficiently using computer information technologies.
|
163 Introduction to Programming in C++
3 crs (3-0). F, Sp.
P: Three years of high school, college preparatory MATH
GE-IB
No credit if taken after or concurrently with CS 265
A general introduction to the design of computer software.
Object-oriented design and implementation techniques
including abstraction, encapsulation, and inheritance are
emphasized. Applications chosen from mathematics, science,
and business are used to demonstrate and motivate
understanding of object-oriented programming.
|
170 Computing for the Sciences and Mathematics
3 crs (3-0). F, Sp.
P: MATH 112 or placement into MATH 114 or MATH 215
GE-IB
Aspects of computation that are particularly relevant to
scientific computation. Discussion of numeric processing,
symbolic processing, data management, data representation,
and scientific visualization. Students design and implement
computer programs using Maple, a language specifically
tailored to the sciences.
|
185 Foundations of Computer Science
4 crs (3-2). F, Sp.
P: MATH 110 or placement in MATH 112, 114, or 215
Not for GE
Fundamental principles and practices of the discipline.
Discussion of computer organization and architecture,
operating systems concepts, database systems and SQL, HTML,
JavaScript, and JSPs. Lectures coordinated with laboratory
experiences.
|
245 Fundamentals of Object-Oriented Programming
4 crs (3-2). F, Sp.
P: MATH 112 (or placement into MATH 114 or 215) and
CS 185. CS 185 may be taken concurrently if student
has completed CS 163, or has had equivalent
programming experience.
Not for GE
Credit cannot be earned in both CS 245 and CS 319
Introduction to object-oriented programming using a Java
development environment. Coverage includes classes, objects,
methods, and inheritance with focus on object-oriented
software design and component-based programming. Advanced
topics such as threads, event-driven programming, and
graphical user interfaces.
|
255 Computer Algorithms
4 crs (3-2). F, Sp.
P: C S 185; C S 245 or instructor consent based on prior
programming experience; MATH 114 or placement into 215
Not for GE
Discussion of algorithm design and problem-solving methods.
Emphasis on object-oriented software design including
abstraction, encapsulation, interfaces, and software reuse
is studied using Java. Software is designed and implemented
using a frameworks-based approach to general problem
solving. Algorithmic techniques include backtracking,
branch/bound, divide and conquer, greedy methods, and
dynamic programming.
|
265 Data Structures
4 crs (3-2). F, Sp.
P: C S 255; MATH 314 or concurrent enrollment
Not for GE
No credit if taken after CS 275
Implementation of abstract data types and their use in
problem solving. Object-oriented techniques for implementing
ADTs using a C++ development environment. Topics include
lists, stacks, queues, trees, and graphs. Discussion of
efficient searching/sorting.
|
278 Digital Logic and Design Verification
3 crs (3-0). Sp.
P: CS 185 and either CS 163 or CS 245, or consent of
instructor
Not for GE
No credit if taken after Special Topics course of the same
title.
Logic components, Boolean algebra and algorithmic logic
simplification techniques, combinational logic analysis and
synthesis, synchronous and asynchronous sequential logic
analysis and design, finite state machine design,
programmable logic, Verilog and VHDL programming for design
verification.
|
288 UNIX Systems Programming
3 crs (3-0). Wi.
P: Programming experience in C or C++
Not for GE
No credit if taken after CS 291 with the same title
In-depth coverage of the UNIX command shell, file
manipulation, process control, file system utilities, mail,
pipes and filters, I/O redirection, process management,
standard editors (Vi, Emacs), and shell scripts. Includes
extensive Perl script programming.
|
291 Special Topics
1-3 crs. On demand.
Not for GE
May be repeated when topic differs
See current Class Schedule Bulletin.
|
318 Fundamentals of Web Programming
3 crs (2-2). F, Sp.
GE-IB
No credit toward computer science majors
Basic concepts, standards, and technologies of client side
Web programming. Hypertext Markup Language (HTML), Cascading
Style Sheets (CSS), and the Java Script Programming
Environment for Web development.
|
319 Fundamentals of Java Programming
3 crs (3-0). F, Sp.
GE-IB
Credit cannot be earned in both CS 245 and CS 319
No credit toward computer science majors
Introduction to Java applets including native types,
operators, objects, classes, and packages. Java development
environments. Inheritance, interfaces, exceptions.
|
320 Web Database Design and Implementation
3 crs (3-0). F.
P: C S 319
Not for GE
Credit cannot be earned in both CS 320 and CS 365
No credit toward computer science majors
Introduction to databases for Web applications. Components,
design considerations, and implementation of relational
databases. Comparison of client and server side database
connections. Database connectivity via JDBC.
|
321 Web Design and Development
3 crs (3-0). Sp.
P: C S 319
SL-Full; Not for GE
Credit cannot be earned in both CS 321 and CS 355
No credit toward computer science majors
Design and analysis techniques appropriate for Web
development. Preparation of user specification and design
documents. Working with clients, end-users, and information
processing professionals. Testing, maintenance, and quality
assurance. Students complete a comprehensive application.
Web server setup and administration.
|
330 Programming Languages
3 crs (3-0). Sp.
P: C S 265
Not for GE
Study fundamental building blocks of modern programming and
diverse programming paradigms including functional,
imperative, object-oriented, and logical programming.
Emphasis on teaching students how to learn and exploit new
programming languages.
|
352 Computer Organization and Design
3 crs (3-0). F.
P: C S 265
Not for GE
No credit if taken after CS 252
A study of hardware organization and architecture including
performance metrics, machine data and instruction
representations, computer arithmetic, assembly language
programming, ALU design, CPU design and control, micro-
programming, pipelining, cache memory systems, and I/O
peripherals.
|
355 Software Engineering I
3 crs (3-0). F.
P: C S 265
SL-Full; Not for GE
Credit cannot be earned in both CS 321 and CS 355
A hands-on experience in software engineering with key
aspects of the software development life cycle. Focus is on
the application of a high-level development environment to
the fulfillment of an object-oriented software design
specification. An introduction to modern design patterns.
|
362 Operating Systems and Distributed Computation
3 crs (3-0). Sp.
P: C S 352
Not for GE
A study of modern operating system concepts, process/thread
structure, process management, scheduling, synchronization.
Memory management, virtual memory, caching. Storage and I/O
device management. Distributed operating systems and
distributed computation.
|
365 Database Systems
3 crs (3-0). Sp.
P: C S 355
Not for GE
Credit cannot be earned in both CS 320 and CS 365
A study of fundamental database concepts including: SQL,
database design and normalization, transactions and
concurrency, embedded SQL, and stored procedures. Particular
attention is paid to modern issues of networks and
distributed database systems.
|
399 Independent Study - Juniors
1-3 crs.
Not for GE
Minimum junior standing
May be repeated - additional restrictions may apply
Get form from department office
|
420 Artificial Intelligence
3 crs (3-0).
P: C S 330
Not for GE
An introduction to artificial intelligence (AI) and
knowledge-based systems. Two major facets of AI are
addressed: the internal structure and organization of
knowledge-based systems and the development and use of
knowledge-based technology.
|
455 Computer Graphics
3 crs (3-0).
P: C S 355 or concurrent registration
Not for GE
A study of 3D modeling, rendering, and animation. Modeling
includes constructive solids geometry, NURBS, and scene
graphs. Rendering includes lighting models, raytracing,
radiosity, mapping, and real-time issues. Animation includes
keyframing, kinematics, dynamics, collision detection, and
AI.
|
462 Computer Networks
3 crs (3-0). F.
P: C S 352
Not for GE
Fundamental concepts of data transmission, network
architecture, data security, error control, routing,
switching, and congestion control. Study of network
protocols including local area networks (IEEE 802.x Suite),
TCP/IP, ATM, WAP, and Gigabit networks.
|
482 Research in Computer Science I
3 crs (3-0).
P: C S 365
Not for GE; CP
Limited to computer science majors or minors
Minimum resident and total GPA of 3.00
Instructor approval required
An introduction to structured research within computer
science. Students develop a complete research proposal that
poses an important open question in computer science and
presents a well-developed strategy for its substantive
investigation.
|
485 Software Engineering II
3 crs (3-0). F.
P: C S 365
Not for GE; CP
An in-depth study of the design and analysis phases of
software development. Particular attention is given to the
role of patterns in software development, including design
patterns, analysis patterns, and architectural patterns.
Students are given hands-on experience with the application
of such patterns to particular application domains.
|
490 Computer Science Practicum
3 crs (3-0).
P: C S 485
SL-Optional; Not for GE; CP
S/U only grade basis
Cannot be taken for credit toward fulfilling the major if
the student has completed three or more credits in
CS 498 (Formerly CS 405)
A reflective examination of the principles and practices
inherent to the study of computer science, including
completion of a comprehensive project.
|
491 Special Topics
1-3 crs. On demand.
Not for GE
May be repeated - additional restrictions may apply
See current Class Schedule Bulletin.
An examination of current topical material of special
interest to students and faculty. Topics that have been
offered include: Analysis of Algorithms, Cryptography and
Data Security, Computer Animation, Fuzzy Logic, Advanced
Internet Applications, Data Mining, and Computational
Biology.
|
492 Research in Computer Science II
3 crs (3-0).
P: C S 482
Not for GE; CP
Limited to computer science majors or minors
Minimum resident and total GPA of 3.00
Instructor approval required
Students carry out a research investigation based on a
structured research proposal. The investigation includes a
detailed analysis of existing literature in the area of
investigation and the preparation of a research
dissemination article.
|
493 Collaborative Research
1-3 crs.
P: C S 355
Not for GE
An in-depth investigation into open issues within computer
science and/or its application to other disciplines.
|
495 Computer Science Seminar
1 cr (1-0). F.
Not for GE
Course may be taken for a maximum of 6 credits
Department permission required
Examination of selected topics in the area of computer
science through seminars and independent investigation.
|
498 Computer Science Internship
1-6 crs.
SL-Optional; Not for GE; CP
Course may be taken for a maximum of 6 credits
Special course fee required
Practical work experience that extends knowledge gained in
prior courses.
|
499 Independent Study - Seniors
1-3 crs.
Not for GE
Minimum senior standing
May be repeated - additional restrictions may apply
Get form from department office
|
793 Special Topics in Computer Science
1-3 crs.
May be repeated - additional restrictions may apply
Permits groups of graduate students to study topics in the
field of computer science.
|
797 Independent Study
1-3 crs.
May be repeated - additional restrictions may apply
Get form from department office
|