courses.uww.edu »

Undergraduate Computer Science

Jump to Menu

Undergraduate Computer Science

2018 Spring Term

Disclaimer

  • This course listing is informational and does not guarantee availability for registration.
  • Please click through to view the class schedule to see sections offered for your selected term.
  • Sections may be full or not open for registration. Please use WINS if you wish to register for a course.

3 Units

COMPUTER APPLICATIONS (GM)

COMPSCI 162

A thorough introduction to commonly used computer applications, covering word processing, spreadsheets, data storage and retrieval, and presentation software. Students will learn the vocabulary of computing, the concepts of computing and problem solving, and how computer applications can be applied to a wide range of problems.


3 Units

INTRODUCTION TO PYTHON PROGRAMMING (GM)

COMPSCI 170

An introduction to computational thinking and computer programming using the Python language, with applications in science, business, education, and other areas. Students will develop structured programs based on simple algorithms that involve input, output, mathematical operations, decisions, and loops. No previous programming experience is needed.


3 Units

INTRODUCTION TO VISUAL BASIC PROGRAMMING (GM)

COMPSCI 171

An introduction to computer programming and its applications to science, business and education. Opportunity for extensive experience in designing and writing structured programs in the Visual Basic language.


3 Units

INTRODUCTION TO JAVA (GM)

COMPSCI 172

This course will give students the essentials of object-oriented programming in Java. Students will learn to formulate algorithms, to solve problems and to implement those solutions with a Java program that employs objects and classes. The student will be introduced to object-oriented design, applications and applets, class construction, methods and message passing arrays, string processing, file processing, and some event-handling and Graphical Use Interface programming. This course is designed for students with some prior programming experience.


3 Units

INTRODUCTION TO C++ (GM)

COMPSCI 174

This course teaches basic programming skills using the structured high-level language C++. Topics include basic input and output, declaration and use of variables, use of control statements, implementation of functions usig value and reference parameters, arrays, and structures. Students will write moderately complex applications using C++.


3 Units

DATA SCIENCE FOR EVERYONE (GM)

COMPSCI 180

An introduction to data science and its implementation using the R language, with applications in natural and social science, public health and welfare, and other areas. Students will explore methods of data analysis and visualization and cultivate marketable data-literacy skills. No prior knowledge of statistics or programming is needed.


3 Units

INTRODUCTION TO DATABASE AND THE WEB (GM)

COMPSCI 181

This course provides the student with a comprehensive working knowledge of a modern database package including the creation of a database, construction of a wide range of queries, use of forms, and report writing features. The course also gives an introduction to the creation of World Wide Web pages using the Extended Hypertext Markup Language (XHTML).


3 Units

DISCRETE STRUCTURES

COMPSCI 215

The course offers a formal approach to the logic of Computer Science, including set theory, methods of proof, discrete probability, sequences, recurrence relations, introduction to graphs, and algorithmic analysis. It also introduces finite state machines, Turing machines, and formal languages and grammars.


3 Units

INTERMEDIATE JAVA

COMPSCI 220

This course teaches more advanced topics in object-oriented program design and the Java programming language. Coverage includes multi-dimensional arrays, methods, error handling, strings, regular expressions, encapsulation, inheritance, polymorphism, generic types, program debugging and testing, database and file processing, event-handling, and graphical user interfaces.


3 Units

INTERMEDIATE C++

COMPSCI 222

This course will cover more advanced issues of C++, including memory management, pointers and user-defined data types. Topics will include reading and writing files, dynamic arrays, implementation of the principles of object oriented design including encapsulation, and inheritance, planning and testing. Students will write complex applications using C++.


3 Units

DATA STRUCTURES

COMPSCI 223

This course covers issues of data structures, professional software development methodologies including software patterns, and advanced object-oriented techniques. Topics include lists, queues, stacks, and trees. Complex data structures and object-oriented design techniques, including inheritance and polymorphism, are applied to develop larger projects.


3 Units

ASSEMBLY PROGRAMMING

COMPSCI 271

This course covers the use of an assembly language based on the RISC processor architecture including writing, linking, and executing a program. Also covered are number systems, instructions for arithmetic and logical operations, memory access, loops, declaring variables, interrupts, machine language, segments, stacks, procedure writing, and file handling.


3 Units

COMPUTER LANGUAGES AND COMPILERS

COMPSCI 322

This course is an introduction to the theory of computer languages and the construction of assemblers and compilers. Students will write a small assembler and a small compiler and will compare features of many computer languages.


3 Units

INTRODUCTION TO ARTIFICIAL INTELLIGENCE

COMPSCI 332

This course introduces basic artificial intelligence principles including simple representation schemes, problem solving paradigms, constraint propagation, search strategies and learning approaches. Knowledge representation, natural language processing, gaming, machine learning and user modeling will be explored. Students should have written moderately complex computer programs in a high level language.


3 Units

SCIENTIFIC COMPUTING

COMPSCI 347

This course provides the applied scientist with the basic tools needed to perform computing within a scientific context. The computational aspects focus on two major areas: (1) the development and implementation of numerical algorithms in computer programs, and (2) the analysis and visualization of complex data sets. Numerical methods covered include finding roots of nonlinear equations, solving linear systems, the eigenvalue problem, numerical integration, the initial value problem, and data fitting. The high-level computer packages used are Mathematic and Matlab.


3 Units

JAVASCRIPT AND DHTML

COMPSCI 381

JavaScript is a computer language for adding flexibility and functionality to web pages. A powerful language in its own right, it also has the capability to interact with HTML forms, browsers, Java applets, and other objects found on a web page. Students in this course will gain a thorough understanding of JavaScript, and learn to harness it abilitities to manage windows, forms, events, cookies, etc.


3 Units

SERVER-SIDE SCRIPTING

COMPSCI 382

Server-side scripting is key to processing web forms, as well as for automating a wide range of server tasks. This course will provide a thorough introduction to the Server-side scripting languages. Students will learn to create a data-driven web application that uses Structured Query Language (SQL) to access and update the information in a database.


3 Units

COMPUTER ORGANIZATION AND SYSTEM PROGRAMMING

COMPSCI 412

Introduction to organization of modern digital computers - understanding the various components of a computer and their interrelationships. Study of systems programming in C/Linux.


3 Units

OPERATING SYSTEMS

COMPSCI 424

This course covers problems encountered by computer operating systems including resource management, memory management, virtual memory, concurrent programming, and distributed systems. Algorithms are presented for deadlock, memory paging, job scheduling, memory allocation, and performance measurement. Operating systems such as WINDOWS, DOS, UNIX, VMS, and MVS are discussed.


3 Units

THEORY OF ALGORITHMS

COMPSCI 433

This course is a survey of algorithms needed for searching, sorting, pattern matching, analyzing graphs, and a variety of other problems of discrete mathematics. Analysis of algorithm efficiency and space/time tradeoffs are discussed.


3 Units

THEORY OF COMPUTATION

COMPSCI 434

This course is an introduction to the theory of computation. It discusses finite automata and Turing machines as models of computation. It includes discussions of regular sets, recursive and partially recursive functions, context free grammars, the halting problem, undecidable problems, complexity, and Np-completeness.


3 Units

BIOINFORMATICS

COMPSCI 448

Bioinformatics is an introduction to computer applications and algorithms currently used in the analysis of biological data, especially genomic and sequence data. The course entails lectures, discussions, readings and hands-on experience with bioinformatic software. Through exercises and individual research projects students acquire a working knowledge of contemporary computational methods and software.


3 Units

COMPUTER NETWORKING

COMPSCI 460

This course introduces the principles, applications, protocols, and architectures of data networks. It places an equal emphasis on practical experience as well as theoretical foundations. There will be abundant network programming and lab activities around application layer, transportation layer, and routing.


3 Units

MOBILE COMPUTING ARCHITECTURE

COMPSCI 461

This course discusses fundamentals of wireless communication and mobile computing, and emphasizes the analysis and design of network architectures in support of mobility related services. It involves intensive critical thinking practices, programming, and hands-on experiments.


3 Units

SOFTWARE ENGINEERING

COMPSCI 476

This course introduces concepts and techniques relevant to the production of large software systems. Students are taught a programming method based on the recognition and description of useful abstractions. Topics include: modularity; specification; data abstraction; object modeling; design patterns; and testing.


3 Units

ADVANCED WEB APPLICATION DEVELOPMENT

COMPSCI 482

This course will introduce students to popular technologies utilized in building database-driven Web applications. These include scripting languages (PHP, Ruby, JSP, NET), Web application frameworks, Web application design patterns, Web services, databases, and security.


1-3 Units

INDEPENDENT STUDY IN COMPUTER SCIENCE

COMPSCI 498

Study of a selected topic or topics under the direction of a faculty member. Repeatable. Department Consent required.


1-3 Units

INDEPENDENT STUDY - UNDERGRADUATE RESEARCH

COMPSCI 498R

Study of a selected topic or topics under the direction of a faculty member. Repeatable. Department Consent required.

Jump to Top

Catalog Selection

Course Navigation

Go ToGo To ResetReset

Class Filter

RefreshRefresh ResetReset

Links