COMPSCI Computer Science
This course information produced at 01:00 on 04/26/2018.
[ Up to Undergraduate Catalog School/College ]
[ Up to Undergraduate Catalog Department ]
101 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: Level 30 on Math Placement Test 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).
160 Introduction to Computer Game Design and Programming. 3 cr. U. An overview of computer game history; design concepts and considerations; implementation using a modern software development platform, such as GameMaker.|Prereq: none.
202 Introductory Programming Using Python. 3 cr. U. Programming in Python. Basic control structures including recursion. Basic and library data types. Problem solving with objects. Writing classes. Basic software development skills.|Counts as repeat of CompSci 290 with similar topic. Pre-req: Level 30 on Math Placement Test, or a grade of C or better in Math 105 or 108.
240 Introduction to Engineering Programming. 3 cr. U. Problem solving with structured programming techniques using an engineering oriented programming language, such as MATLAB, including control structures, functions, arrays and matrices.|Prereq: Math Placement Level 40 or Math 116(P).
241 C Programming for Embedded Systems. 3 cr. U. Problem solving with structured programming techniques, using the C programming language; Topics include using Arrays & Pointers; Memory Management; Unions, Structures; Files & Low Level IO; Process's & Inter-process Communication.|Prereq: C or better in CompSci 240(P)
250 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 level 30.
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 Level 40 or Math 116(P) or Math 211(P); C or better in CompSci 250(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 w/chg in topic. Prereq: specific courses dependent on topic.
315 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 Level 40 or Math 116(P) or Math 211(P); CompSci 250(201)(P).
317 Discrete Information Structures. 3 cr. U. Introductory discussion of logic, proof techniques, sets, functions, relations, combinatorics, probability, and graphs.|Prereq: Math Placement Level 40; grade of C or better in CompSci 250(P).
318 Topics in Discrete Mathematics. 3 cr. U. Number theory topics related to cryptography; discrete structures including graphs, partial orders, Latin squares and block designs; advanced counting techniques.| Jointly offered with & count as repeat of Math 318. Prereq: a grade of C or better in CompSci 317(P) or Math 341(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 Level 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: C or better in CompSci 351(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 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;grade of C or better in CompSci 317(P) or grade of C or better in Math 341(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 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).
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), C or better in CompSci 315(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) & 251(P).
481 Server-side Internet Programming. 3 cr. U/G. 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: jr st; one of CompSci 113 (P), InfoSt 320 (P), or Art 324 (P); C or better in CompSci 202(P) or CompSt 702(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 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; Math 211(P), 213(P), 221(P) or 231(P); C or better in both CompSci 317(P) & 351(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).
537 (effective 09/04/2018) Introduction to Operating Systems. 3 cr. U/G. Process management including process creation, switching, multithreading, scheduling, communication and concurrency control; memory management including paging, segmentation and virtual memory; systems programming.|Prereq: jr st; CompSci 458(C) or ElecEng 458(C); 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).
547 User-Centered Interaction Design. 3 cr. U/G. Introduction of human-computer interaction theories and design processes. Emphasis is on applied user experience (UX) design.|Jointly offered with & counts as repeat of InfoSt 547. Prereq: sr st.
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(C), 535(C), 537(C).
595 (effective 09/04/2018) 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 351 (P), CompSci 361 (P), and credit in at least 6 credits of 400 or higher CompSci courses.
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.|May be retaken 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.|May be retaken w/chg in topic. Prereq: jr st.
699 Independent Study. 1-3 cr. U/G. |May be retaken to max of 6 cr by undergraduates. Prereq: jr st; cons instr.
[ College of Engineering and Applied Science Home Page ]
University of Wisconsin-Milwaukee Undergraduate Catalog 2017-2018:
[ Up to Undergraduate Catalog School/College ]
[ Up to Undergraduate Catalog Department ]
[ Schools and Colleges | Inter-School/College Programs ]
[ Contents | How to Use This Book | Calendar ]
[ Academic Information | Academic Opportunities | Campus Resources ]
[ Admission | Registration | Financial Information | Administrative Policies ]
[ About UWM | Additional Information | Administration ]