UW-L Graduate Course Catalog GIF image

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.

 Return to Top

Back to Course Descriptions Index Page

Back to Table of Contents

UW-L Homepage | Office of Records and Registration Homepage | How to Contact Us | How to Register  
How to Request Transcript | Undergrad/Grad Catalogs | Timetables/Course Listings | Enrollment Verifications
Veterans Certification | F.E.R.P.A. | Transfer Information System | Re-entry Applications | Enrollment Statistics  
Faculty Services | Graduation Ceremonies | Current Students Homepage
 

 

Last Modified:June 13, 2012
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