1. UWM
  2. Academics
  3. Undergraduate Catalog

UWM Undergraduate Catalog 2014-2015


College of Engineering and Applied Science


COMPSCI Computer Science



This course information produced at 01:00 on 08/23/2014.
[ College of Engineering and Applied Science Home Page ]
[ Up to Undergraduate Catalog School/College ]
[ Up to Undergraduate Catalog Department ]


101 (211) Introduction to PC Application Software. 3 cr. U. Introduction to software applications of the personal computer, including word processing, desktop publishing, spreadsheets, and databases.|Not open to CompSci students for cr. Prereq: none.
111 Introduction to Unix. 1 cr. U. Introduction to basic user skills for Unix operating systems. File system structure and access control. Basic user commands. Text editing. Internet utilities.|Prereq: none.
112 Introduction to the Internet and the World Wide Web. 3 cr. U. Survey of the technologies that enable common Internet applications and their security/privacy issues. Topics include HTTP, TCP/IP, DNS, email protocols, search engines, encryption, digital signatures and malware.|Prereq: none.
113 Introduction to Web Document Production. 3 cr. U. An introduction to the computer languages used in World Wide Web documents. Design principles; techniques for form processing and inclusion of multimedia content.|Prereq: none.
132 Introduction to Computers and Programming. 3 cr. U. How computers work; communicating with computers; introductory programming in a high-level language; elementary problem solving.|Prereq: Math placement code of 30 or Math 105(C).
140 Introduction to the Computer Science Laboratories. 1 cr. U. Survey of the programming tools available in the Computer Science laboratory environment.|Prereq: CompSci 201(C)
150 Survey of Computer Science. 3 cr. U. A survey of computer science. Topics include data storage and manipulation, operating systems and networks, algorithms and data structures, programming languages, artificial intelligence, and computability.|Counts as repeat of CompSci 299 with similar topic. Prereq: none.
151 Introduction to Scientific Programming in Fortran. 3 cr. U. Design and implementation of computer programs in fortran; stress will be placed on applications to different fields of science and engineering.|Prereq: Math 231(C) or 226(C).
153 Introduction to Scientific Programming in C++. 3 cr. U. Design and implementation of computer programs in C++; stress will be placed on applications to different fields of science and engineering.|Prereq: Math 231(C) or 226(C).
201 Introductory Computer Programming. 3 cr. U. Problem solving with structured programming techniques using an object-oriented programming language, including control structures, functions, arrays, vectors, and pre-defined objects.|Prereq: Math Placement Code of 35 or Math 116(C) or Math 211(C).
251 Intermediate Computer Programming. 3 cr. U. Problem solving with objects. Writing classes. Use of standard data structures. Basic software development skills including text analysis tools, debugging, and configuration management.|Prereq: Math Placement Code of 40 or Math 116(P) or Math 211(P); C or better in CompSci 201(P).
290 Introductory Topics in Computer Science: (Subtitled). 1-3 cr. U. Lectures on new introductory material in computer science. Variable-content course.|May be retaken to max of 6 cr with change in topic. Prereq: specific courses dependent on topic.
315 (effective 09/02/2014) Introduction to Computer Organization and Assembly Language Programming. 3 cr. U. Introduction to number systems, arithmetic and Boolean operations. Digital computer organization. A specific computer system, assembly and machine language programming.|Prereq: Math Placement Code of 40 or Math 116(P) or Math 211(P); CompSci 201(P).
315 (215) Introduction to Computer Organization and Assembly Language Programming. 3 cr. U. Introduction to number systems, arithmetic and Boolean operations. Digital computer organization. A specific computer system, assembly and machine language programming.|Prereq: CompSci 151(P) or 152(P) or 153(P) or 201(P); Math 211(P) or 226(P) or 231(P).
317 (217) Discrete Information Structures. 3 cr. U. Introductory discussion of logic, proof techniques, sets, functions, relations, combinatorics, probability, and graphs.|Prereq: grade of C or better in Math 221(P), 226(P) or 231(P); CompSci 152(P) or 201(P).
337 System Programming. 3 cr. U. Introduction to the application programmer interface for a modern operating system. Overview of mechanisms for object oriented programming and memory management|Prereq: C or better in CompSci 251(P)
351 Data Structures and Algorithms. 3 cr. U. Programming in a structured, high-level, object-oriented language. Implementation of data structures and algorithms and their application.|Prereq: Math Placement Code of 40 or Math 116(P) or 211(P); C or better in CompSci 251(P).
361 Introduction to Software Engineering. 3 cr. U. Introduction to core topics of software engineering including requirements analysis, object-oriented design, testing, and project management. Overview of ethical and social issues in computing.|Prereq: CompSci 140(R), C or better in CompSci 251(P), satisfaction of GER English Composition competency req.
395 Social, Professional, and Ethical Issues. 3 cr. U. The social, professional and ethical issues that arise in the context of professional computing.|Prereq: soph st or cons instr.
417 (517) Introduction to the Theory of Computation. 3 cr. U/G. Introduction to formal languages, grammars and automata. Finite state automata, pushdown automata, turing machines. Regular, context-free recursive and recursively enumerable languages. Decidability.|Prereq: jr st; Math 221(P) or 232(P), grade of C or better in CompSci 317(217)(P).
422 Introduction to Artificial Intelligence. 3 cr. U/G. Introduction to core techniques and broad survey of AI. Topics include: Lisp, heuristic search, knowledge representation, planning, vision, learning.|Prereq: jr st; C or better in CompSci 317(217)(P); & CompSci351(252)(P).
423 Introduction to Natural Language Processing. 3 cr. U/G. Introduction to natural language processing programs and an overview of the field. Topics include syntactic frameworks, parsing, semantics, interpretation, and applications.|Prereq: jr st; C or better in CompSci 351(P).
425 Introduction to Data Mining. 3 cr. U/G. Algorithms for uncovering useful information from data. Topics include data exploration, association rules, clustering, supervised learning, and mining structured data (e.g., sequences or graphs)|Counts as repeat of CompSci 657 with same topic. Prereq: jr st; CompSci 251(P), Math 221(P) or Math 232(P)
431 (631) Programming Languages Concepts. 3 cr. U/G. Examination of abstract features of languages. Study of syntactic and semantic models; design and programming in procedural, object-oriented, functional and logical languages. Implementation methods.|Prereq: jr st; grade of C or better in CompSci 351(252)(P).
438 Software Engineering Laboratory. 1-6 cr. U/G. Software projects involving definition, design, development, documentation and implementation of software systems.|May be retaken with change of topic to 6 cr max. Prereq: jr st; C or better in CompSci 251(P).
444 Introduction to Text Retrieval and Its Applications in Biomedicine. 3 cr. U/G. Introduction to text retrieval, text classification and their biomedical applications; topics include: indexing, query processing, and document retrieval methods.|Jointly offered with & counts as repeat of HCA 444, CompSci 744, & HCA 744. Prereq: jr st; CompSci 351(P) or HCA 442(P).
458 Computer Architecture. 3 cr. U/G. Processor organization and design; memory organization; microprogramming and control unit design; I-O organization; case studies of selected machine architectures.|Jointly offered with & counts as repeat of ElecEng 458. Prereq: jr st; ElecEng 354(P), CompSci 315(215)(P) or ElecEng 367(P).
459 Fundamentals of Computer Graphics. 3 cr. U/G. Scan-line algorithms, object representation, homogeneous coordinates, geometric transformations, viewing curves, illumination models, interactive input methods, texture mapping.|Prereq: jr st; Math 232(P); CompSci 251(P).
469 Introduction to Computer Security. 3 cr. U/G. Privacy and authenticity of data and programs, communication, operating systems, network and database security, computer viruses, cryptography, private and public key cryptosystems, protocols.|Prereq: jr st; C or better in both CompSci 317(217)(P) & 201(P).
481 Server-side Internet Programming. 3 cr. U. Introduces students to the concept of server-side programming and web applications development. Topics include dynamic web site development, session management, security, and relational databases.|Prereq: CompSci 251(P); CompSci 113(P) or CompSci 581(P).
482 Rich Internet Applications. 3 cr. U. Create standard-compliant web applications using client-side JavaScript and the Document Object Model.|Prereq: CompSci 113(P), 581(P), or L&I Sci 685(P).
511 Symbolic Logic. 3 cr. U/G. First-order predicate calculus; formal properties of theoretical systems; chief results of modern mathematical logic; advanced topics such as completeness and computability.|CompSci 511, Math 511, & Philos 511 are jointly offered & count as repeat of each other. Prereq: jr st & either Philos 212(P) or 6 cr Math at the 300-level or above; or grad st.
520 (620) Computer Networks. 3 cr. U/G. Layered network architecture, protocols, data transmission, local area networks, multiplexing and switching, routing flow and congestion control, internetworking, wireless networking, network reliability and security.|Prereq: jr. st; CompSci 315(215)(P) or CompSci 458(P) or ElecEng 367(P).
522 Computer Game Design. 3 cr. U/G. Design of rules, environments, rewards, and punishments, Game metrics, Including artificial intelligence in games, Puzzle generation, Automatic design, Humanness test, Influence maps, Diversity, Unpredictability.|Counts as repeat of CompSci 657 with similar topic. Prereq: jr st; grade of C or better in CompSci 317(P).
530 Computer Networks Laboratory. 3 cr. U/G. Experimentation with Wired and Wireless Computer Networks Design. Data Link and MAC Protocols, LANs, WANs, Routing, Transport Layer Protocols, Congestion Control, Network Security, Network Management.|Prereq: jr st; CompSci 520(P).
535 Algorithm Design and Analysis. 3 cr. U/G. Introduction to abstract data structures, analysis of time and space requirements of numerical and non-numerical algorithms methods for data manipulation.|Prereq: jr st; C or better in both CompSci 317(217)(P) & 351(252)(P).
536 Software Engineering. 3 cr. U/G. Software engineering, the software life cycle, qualities of software; design, specification and verification of software, programming environments and tools, object oriented programming.|Prereq: jr st; grade of C or better in CompSci 251(P).
537 Introduction to Operating Systems. 3 cr. U/G. Process management including scheduling, concurrency, synchronization, and deadlock; memory management, I/O management and disk scheduling, file systems. Systems programming.|Prereq: jr st; CompSci 458(P) or ElecEng 458(P); CompSci 337(P).
545 FPGA Embedded CPUs & Firmware Development. 3 cr. U/G. Use of modern embedded system central processor units (CPUs) with integrated field-programmable gate arrays (FPGAs). Design and implementation of firmware for these devices.|Jointly offered with & counts as repeat of ElecEng 545. Prereq: jr st; ElecEng 367(P) & 457(P).
552 Advanced Object-Oriented Programming. 3 cr. U/G. An advanced course in object-oriented programming. Abstraction; single and multiple inheritance; dynamic binding of functions; polymorphic types and operators; survey of object-oriented techniques.|Prereq: jr st; C or better in both CompSci 351(P) & 361(P).
557 Introduction to Database Systems. 3 cr. U/G. General database system concepts. Physical data organization. Data models and database systems. Database design theory. Query optimization. Transaction management. Logic and database.|Prereq: jr st; CompSci 315(215)(P) & 251(P) or equiv.
581 Web Languages and Standards. 3 cr. U. Introduction to languages and standards for Web applications, including markup, schema, style, transformation, and metadata languages. Document programming interfaces. Emphasis on programming language principles.|Prereq: jr st; CompSci 431(P)& 417(R).
595 Capstone Project. 4 cr. U. Students will integrate their knowledge of the undergraduate computer science curriculum by implementing a significant computer science team project.|Prereq: sr st, CompSci 361(P), 458(P), 535(P), 537(P) or cons instr.
599 Senior Thesis. 3 cr. U. Independent scholarly research in Computer Science supervised by a faculty member.|Prereq: sr st & cons instr.
654 Introduction to Compilers. 3 cr. U. Fundamentals of compiler construction for modern programming languages. Syntax analysis, table organization, storage administration, semantic routines and code generation|Prereq: jr st; CompSci 431(P), 655(C).
655 Compiler Implementation Laboratory. 3 cr. U/G. Implementation of compiler phases: scanner, parser, semantic analysis; code generation and optimization.|Prereq. jr st, CompSci 431(P); 654(C) or 754(C).
657 Topics in Computer Science: (Subtitled). 1-4 cr. U/G. Lectures on recent advances in computer science. Specific credits and any additional prerequisites will be announced in Schedule of Classes whenever course is offered.|Retakable w/chg in topic to 9 cr max. Prereq: jr st.
658 Topics in Applied Computing: (Subtitled). 1-4 cr. U. Lectures on recent advances in applied computing. Specific credits and any additional prerequisites will be announced in Schedule of Classes whenever course is offered.|Retakable w/chg in topic. Prereq: jr st.
699 Independent Study. 1-3 cr. U/G. |May be repeated to max of 6 cr by undergraduates. Prereq: jr st; cons instr.

This course information produced at 01:00 on 08/23/2014.

[ College of Engineering and Applied Science Home Page ]
University of Wisconsin-Milwaukee Undergraduate Catalog 2014-2015:
[ Up to Undergraduate Catalog School/College ]
[ Up to Undergraduate Catalog Department ]
[ Schools and Colleges ]
[ Contents | How to Use This Book | Calendar ]
[ Admission | Registration | Financial Information | Academic Information ]
[ Administration | UWM - Endless Possibilities | Academic Opportunities | Campus Resources ]