University of Wisconsin - Eau Claire

2004-2005 UNIVERSITY CATALOGUE

C S - Computer Science

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 concurrent enrollment, 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 concurrent enrollment, or placement in
MATH 114 or 215
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: CS 185; CS 245 or instructor consent based on prior
programming experience; MATH 114 or concurrent
enrollment, or placement in MATH 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: CS 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 System Design
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, combinational logic analysis and synthesis, synchronous and asynchronous sequential logic analysis and synthesis, finite state machine design, programmable logic and FPGAs, Verilog programming for synthesis.
288 UNIX Systems Programming
3 crs (3-0). F.
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. V.
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: CS 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: CS 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: CS 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: CS 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: CS 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: CS 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: CS 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.
370 Computer Security
3 crs (3-0). Sp.
P: CS 265
Not for GE
Study of system, network, database, application and web security. Practical experience with tools for information gathering, vulnerability analysis, system hardening and intrusion detection as used for defending computer systems, culminating in a cyberwar exercise.
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: CS 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.
450 Theory of Computation
3 crs (3-0). F.
P: CS 265
Not for GE
A study of finite automata and regular languages, pushdown automata and context-free languages, Turing machines and recursively enumerable sets, linear-bounded automata and context-sensitive languages, computability and the halting problem, undecidable problems, and the Chomsky hierarchy.
455 Computer Graphics
3 crs (3-0).
P: CS 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: CS 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: CS 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: CS 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: CS 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. V.
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: CS 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: CS 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