University of Wisconsin - Eau Claire

2007-2008 UNIVERSITY CATALOGUE

SUMMER

C S - Computer Science

Catalogue abbreviation keyCatalogue abbreviation key
100 Computer Information Technologies
3 crs (2.5-1).
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.
GE-IB
P: Three years of high school, college preparatory MATH
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.
GE-V
P: MATH 112, or 113, or placement into MATH 114 or 215
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.
Not for GE
P: MATH 109 or concurrent enrollment, or placement in
MATH 112, 113, 114, or 215
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.
Not for GE
P: MATH 112, or 113 or concurrent enrollment; or
placement into MATH 114 or 215
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.
250 Discrete Structures
3 crs (3-0). F, Sp.
Not for GE
P: CS 185 and 245
Must be taken with C S 255
Discrete mathematics and its application to computing. Topics include logic, sets, functions, relations, trees, graphs, divide and conquer, dynamic programming, and graph methods. Computing applications include software testing, logic programming, computer graphics, expert systems, and digital logic.
255 Computer Algorithms
4 crs (3-2). F, Sp.
Not for GE
P: CS 185; CS 245 or instructor consent based on prior
programming experience; MATH 114 or concurrent
enrollment, or placement in MATH 215
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.
Not for GE
P: CS 250 and 255
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
4 crs (3-2). Sp.
Not for GE
P: CS 185 and either CS 163 or CS 245, or consent of
instructor
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.
Not for GE
P: Programming experience in C or C++
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
An examination of current topical material of special interest to students and faculty.
318 Fundamentals of Web Page Design
3 crs (2-2). F, Sp.
GE-IB
Basic concepts, coding standards, accessibility guidelines, and technologies of client-side Web page design. Hypertext Markup Language (HTML), Cascading Style Sheets (CSS), and techniques for controlling page layout, animations, and user interactions.
319 Fundamentals of Java Programming
3 crs (3-0). F, Sp.
GE-IB
P: CS 318 or concurrent enrollment
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.
Not for GE
P: CS 318 and 319
Credit cannot be earned in both CS 320 and CS 345
No credit toward computer science majors
Introduction to databases for Web applications. Architecture, design considerations, and implementation of relational database systems. Database application development using JDBC.
321 Web Design and Development
3 crs (3-0). Sp.
SL-Full; Not for GE
P: CS 319 and 320
Credit cannot be earned in both CS 321 and CS 355
No credit toward computer science majors
Analysis and design techniques for Web application development. Preparation of design documents, working with clients, end-users, and information processing professionals. Development, deployment, and testing. Web server setup and administration. Students complete a comprehensive Web database application.
330 Programming Languages
3 crs (3-0). Sp.
Not for GE
P: CS 265
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.
Not for GE
P: CS 265
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). Sp.
SL-Full; Not for GE
P: CS 365
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). F.
Not for GE
P: CS 352
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). F.
Not for GE
P: CS 265
Credit cannot be earned in both CS 320 and CS 345
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.
Not for GE
P: CS 265
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).
Not for GE
P: CS 330
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.
Not for GE
P: CS 265
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).
Not for GE
P: CS 355 or concurrent registration
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). Sp.
Not for GE
P: CS 352
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).
Not for GE; CP
P: CS 365
P: Limited to computer science majors and 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.
Not for GE; CP
P: CS 355
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).
SL-Optional; Not for GE; CP
P: CS 485
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 when topic differs
See current Class Schedule
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).
Not for GE; CP
P: CS 482
P: Limited to computer science majors and 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.
Not for GE
P: CS 355
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
Full-time equivalent
Course may be taken for a maximum of 6 credits
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