COMPUTER SCIENCE (C-S)
C-S 301/501
Cr. 2
Using the Internet
An introduction to the
Internet and computer networking. A survey of Internet resources and
methods used to retrieve and create Internet resources. Topics
include: connecting to the Internet, electronic mail, file transfer,
remote login, Mosaic, World Wide Web, Gopher, TCP/IP, networking
hardware. Not applicable to a computer science major or minor.
C-S 419/519
Cr. 1-3
Topics in Computer Science
A special topics course in
computer science which will function as a forum for new ideas and
testing ground for new courses. Prerequisite: consent of instructor.
Repeatable for credit -- maximum 6.
C-S 421/521
Cr. 3
Programming Language Concepts
A comparative study of the
concepts underlying the design of contemporary high level programming
languages, including imperative, functional, logic and
object-oriented paradigms; formal representation of syntax and
semantics; control structures; data and procedural abstraction; scope
and extent; parallelism and exception handling. This course cannot be
taken both at the undergraduate level and at the graduate level.
Prerequisite: C-S 340.
C-S 441/541
Cr. 3
Operating System Concepts
The study of the structures
and algorithms of operating systems. Operating systems are viewed as
managers and controllers of resources such as processors, memory,
input and output devices and data. Topics include multiprogramming
systems, CPU scheduling, memory management and device management.
Prerequisites: C-S 340 and 370.
C-S 442/542
Cr. 3
Structure of Compilers
An extensive study of all
phases of the compilation of high level programming languages. Topics
include: scanning, parsing (LL and LR), semantics analysis, symbol
table organization and manipulation, internal code generation,
storage allocation, optimization and object code generation. Students
are required to complete a compiler for a small high-level language.
Prerequisites: C-S 270 and 340. Offered Sem. II.
C-S 443/543
Cr. 3
Topics in Operating Systems
An intermediate course in
operating systems extending topics introduced in C-S 441. Operating
systems concepts are studied in depth. Typically students will study
and modify an existing system. Prerequisite: C-S 441. Offered Sem.
I.
C-S 446/546
Cr. 3
Object-Oriented Software Development
Introduction to the concepts
and principles of object-orientation (OO). Topics include detailed
discussion on analysis and design of OO software systems, notations
for OO analysis and design, and comparison of OO programming
languages. Advanced topics on object-orientation such as OO testing
and Software reuse will be briefly discussed. Prerequisite: C-S 340.
This course cannot be taken for credit both at the undergraduate
level and at the graduate level. Offered Sem. I.
C-S 449/549
Cr. 3
Advances in Software Engineering
Introduces advanced topics in
Software Engineering. Topics include prototyping models, risk
analysis, component-oriented software development, software
architectures, software reuse, software metrics and quality analysis.
Prerequisites: C-S 741. This course cannot be taken for credit both
at the undergraduate level and at the graduate level. Offered Sem.
II.
C-S 451/551
Cr. 3
User Interface Design
This course focuses on the
design and implementation of user interfaces. The topics include
characteristics of user interfaces, user profiles, user interface
design principles, methods and tools for user interface development,
evolution of user interfaces, evaluation of user interfaces, and case
studies. Prerequisite: C-S 340. This course cannot be taken for
credit both at the undergraduate level and at the graduate level.
Offered Sem. I.
C-S 452/552
Cr. 3
Artificial Intelligence and Pattern Recognition
An introduction to the
fundamental principles of artificial intelligence. Topics include the
biological basis for intelligence, classification of object
descriptions and pattern recognition, search strategies and game
trees, natural language processing, automatic theorem proving,
programming for artificial intelligence and knowledge-based systems.
Projects include writing a substantial artificial intelligence
application program. Prerequisite: C-S 340. Offered Sem. I.
C-S 453/553
Cr. 3
Introduction to the Theory of Computation
An introduction to the
theoretical aspects of computation. The capabilities and limits of
several computation models are considered including: partial
recursive functions, Turing machines, finite state automata and
formal languages. The implications of Church's thesis and unsolvable
problems such as the halting problem are discussed. Prerequisite: C-S
340. Offered Sem. II.
C-S 464/564
Cr. 3
Advanced Database Management Systems
Advanced topics in database
management systems. Topics include the relational data model,
relational calculus, embedded SQL programming, database application
programming, indexing, system software and storage structures for
databases, concurrency control, crash recovery, database
administration, parallel and distributed databases, object-oriented
databases. Prerequisite: C-S 364. This course cannot be taken for
credit both at the undergraduate level and at the graduate level.
Offered Sem. II.
C-S 470/570
Cr. 3
Parallel and Distributed Computing
A study of architectures,
control software, and applications for parallel and distributed
systems. A survey of parallel and distributed architectures including
data flow machines, vector processors, shared memory multiprocessors,
and message based multiprocessors. Software topics include process
communication and synchronization, global state maintenance,
negotiation, scheduling, data parallelism, control parallelism, and
languages for parallel and distributed computing. Prerequisite: C-S
370. Offered Sem. I.
C-S 471/571
Cr. 3
Data Communications
An introduction to data
communications, including the electrical properties and software
protocols. In addition to presentations of the concepts and
techniques used for data communications, several currently used
standards and communications networks will be examined.
Prerequisites: C-S 270 and 340. Offered Sem. I.
C-S/C-I 480/680
Cr. 3
Survey of Computer Assisted Instructional
Systems
A survey of current trends in
Computer Assisted Instruction (CAI). Development of instructional and
curriculum materials suitable for computer applications. Use of a
current authoring software package. Prerequisite: C-S 224 or C-I
420/620. (Cross-listed with C-I; may only earn credit in C-S or
C-I.)
C-S 741
Cr. 3
Software Engineering Principles
An advanced course in Software
Engineering that provides a broader outlook of software development
activities, introduces software qualities, introduces various life
cycle models and software development processes that achieve the
qualities, introduces principles of testing and maintenance
activities, and guides the selection of appropriate life cycle model
and software development processes for any given application.
Prerequisite: C-S 341. Offered Sem. I.
C-S 742
Cr. 3
Formal Methods in Software Development
Introduces various formal
notations that are used in software development, the mathematical
preliminaries that are required to understand and to use the formal
notations, provides hands-on experience with one or two formal
notations along with some case studies. Prerequisite: C-S 340.
Offered Sem. II.
C-S 743
Cr. 3
Software Verification and Validation
This course explains the need
for verification and validation, discusses the methods (formal,
informal and diagrammatic) and techniques (prototyping and
theoretical proof techniques) that implement verification and
validation, and provides hands-on experience to apply these methods
and techniques to some simple case studies. Automation of
verification and validation methods will also be briefly discussed.
Prerequisite: C-S 741. Offered Sem. II.
C-S 744
Cr. 3
Management Issues in Software Engineering
This course addresses
management issues that are involved in software projects. Some of
these issues are group working, allocation of teams and division of
labour, feasibility analysis, marketing strategies and project
deadlines. Other topics include in-house software development versus
outsourcing, customer interaction, standards and organizational
impacts on software development. Offered Sem. I.
C-S 750
Cr. 1-3
Topics in Software Engineering
This is a topics course in
Software Engineering. New topics will be introduced based on the
evolution of Software Engineering research. Some such topics are
real-time systems, embedded systems, software for safety-critical
applications, software architectures, component-oriented programming,
CORBA, COM/DCOM, and CASE (Computer-Aided Software Engineering).
Topics may vary each semester. Prerequisite: C-S 741 and consent of
instructor. Repeatable for credit -- maximum 9. Offered Sem. I.
C-S 751
Cr. 1-3
Seminar in Software Engineering
This course is meant for those
who want to specialize in one or more areas in Software Engineering
such as software reuse, software architectures, software testing,
software verification, etc. The workload for the course will include
a number of presentations in the class and one or more written
reports. Topics of
specialization may vary for each semester. Prerequisite: C-S 741 and
consent of
instructor. Repeatable for credit -- maximum 9. Offered Sem. II.
C-S 752
Cr. 1-3
Independent Study
This course is meant for those
who want to acquire an in-depth knowledge on any Software Engineering
topic. Typically, the student may be required to focus on one
particular topic and conduct some research on this topic, or to do
some software development activities such as analysis, design,
implementation or testing. If registered for more than once, a
different topic must be chosen each time. Prerequisite: C-S 741 and
consent of instructor. Each student is required to submit a report at
the end of the term. Repeatable for credit -- maximum 9.
C-S 798
Cr. 1-6
Software Development Project
A major project that requires
a detailed analysis of the problem domain, detailed design,
implementation and demonstration. The project will be guided by a
graduate C-S faculty member. Submission of a written project report
is required, followed by an oral examination by the Project
Evaluation Committee in the C-S department. Prerequisite: Project
proposal must be approved by the Project Evaluation Committee in the
C-S department. Repeatable for credit -- maximum 12. Pass/Fail
grading.
|
|
|
|
|
Last
Modified:August 25, 2008
comments To: records@uwlax.edu
University of Wisconsin-La Crosse 1725 State Street La Crosse,
WI 54601 608.785.8000
All material Copyright© 2002 by the University of Wisconsin-La
Crosse and the Board of Regents of the University of Wisconsin System
|