courses.uww.edu »

Undergraduate Computer Science

Jump to Menu

Undergraduate Computer Science

2022 Fall 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

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

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 JAVA

COMPSCI 172

This course teaches the essentials of object-oriented programming in Java. Students will learn to formulate solutions for real problems and implement those solutions in Java programs that employ objects and classes. Students will be introduced to object-oriented design, class construction, selection statements, loops, methods and message passing, debugging, arrays, string processing, and file processing.


3 Units

INTRODUCTION TO C++

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 using value and reference parameters, debugging, arrays, classes, and objects. Students will write moderately complex applications using C++.


3 Units

DATA SCIENCE FOR EVERYONE

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

DISCRETE STRUCTURES

COMPSCI 215

The course offers a formal approach to the mathematics of Computer Science, including set theory, methods of proof, propositional logic, discrete probability, sequences, recurrence relations, introduction to graphs, and algorithmic analysis.


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, recursion and search/sort algorithms, error handling, strings, regular expressions, encapsulation, inheritance, polymorphism, generic types, file processing, event handling, and program debugging and testing. Coverage may also include databases, graphical user interfaces, or functional programming.


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 and multi-dimensional arrays; recursion and search/sort algorithms; implementation of the principles of object oriented design including encapsulation, inheritance, polymorphism, and templates; and 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

COMPUTER ORGANIZATION AND ASSEMBLY PROGRAMMING

COMPSCI 271

This course covers an introduction to computer organization and the use of an assembly language based on a standard (RISC or CISC) processor architecture including writing, linking, and executing a program. Also covered are number systems, arithmetic and logical operations, Boolean algebra, logic circuits, basic hardware components, memory access, loops, declaring variables, interrupts, machine language, segments, stacks, procedure writing, and file handling.


1-3 Units

SPECIAL STUDIES

COMPSCI 296

Variable topics. Group activity. Not offered regularly in the curriculum but offered on topics selected on the basis of timeliness, need, and interest, and generally in the format of regularly scheduled Catalog offerings. Repeatable. Instructor Consent required.


3 Units

INTERMEDIATE DATA SCIENCE

COMPSCI 310

This course introduces intermediate data science and its implementation using R and Python, with applications in natural and social science, public health and welfare, and other areas. Students will explore methods of data analysis, cleaning, simulation and visualization and machine learning. Prior knowledge of programming and statistical analysis is assumed.


3 Units

CONCEPTS OF PROGRAMMING LANGUAGES

COMPSCI 320

An exploration of the core concepts upon which all programming languages are built. Students will apply these concepts to write programs in several specialized programming languages, including functional and logic programming languages. Emphasis is placed upon evaluating the strengths and weaknesses of particular languages for various tasks.


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

DIGITAL FORENSICS

COMPSCI 342

This course focuses on the procedures and techniques of digital forensics. It involves the preservation, identification, extraction and documentation of evidence stored on a computer. The detailed contents include general forensics procedure, computer crime law and digital evidence collection procedure, data collection, data recovery, file system analysis, evidence analysis, tools for forensics analysis, and basic internet application forensics.


3 Units

CYBERSECURITY LAW AND POLICY

COMPSCI 353

This course will provide students exposure to the key legal and policy issues related to cybersecurity. It includes such topics as data security laws and enforcement actions, cybersecurity litigation, anti-hacking laws, cybersecurity and corporate governance, privacy law, the Fourth Amendment, surveillance, and international cybersecurity law.


3 Units

JAVASCRIPT AND DHTML

COMPSCI 381

JavaScript is a computer language globally used for adding flexibility and functionality to web pages. A powerful language in its own right, it supports event-driven, functional, and imperative programming styles. It also has the capability to make asynchronous calls to server-side scripts. Students in this course will gain a thorough understanding of JavaScript, and learn to harness its abilities to create custom user interfaces and manage windows, forms, events, etc.


3 Units

SERVER-SIDE SCRIPTING

COMPSCI 382

This course will provide a thorough introduction to the concepts utilized in building modern web applications. Students will learn to create web applications that use SQL/NoSQL to access and update the information in a database.


3 Units

EMBEDDED SYSTEMS

COMPSCI 412

A study of general embedded system organization and architecture that is widely used in Internet of Things (IoT). This course includes microcontroller, circuits, and hardware. Interactions with embedded system and peripheral sensors, includes buses, memory architectures, device drivers and SPI. The focus will then be the embedded software design, such as concurrency, interrupts, profiling, exception handling, etc. This course is designed to be involved with extensive hands-on experiences.


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

CRYPTOGRAPHY AND NETWORK SECURITY

COMPSCI 455

This course covers the fundamental cryptographic algorithms and security protocols for computer networks. Topics include security attacks and security services, classical ciphers, modern block and stream ciphers, public key cryptography, digital signatures, key management and distribution, authentication, and security network protocols. The class involves a significant amount of programming projects and assignments about cipher algorithms and security protocols.


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

SOFTWARE ENGINEERING

COMPSCI 476

This capstone course introduces concepts and techniques relevant to the production of large software systems. Topics include: modularity; specification; data abstraction; object modeling; design patterns; and testing. Students work in groups to complete a significant software development project using concepts taught in this course and in prior Computer Science courses.


3 Units

WEB SERVER AND UNIX ADMINISTRATION

COMPSCI 481

This course is intended to introduce students to Web Server software and UNIX and UNIX-like operating systems from the perspective of the System Administratior. Linux, the fastest growing operating system, will be studied in detail, together with the Apache web server. Web server configuration will be studied, including optimization, security issues and vertual server administration. Additional topics will include shell programming, system monitoring, file systems and the X Windows GUI. This course will focus on common system administration duties on the Linux platform. Students will acquire competency in using shell programming skills to automate the maintenance of server activity. Emphasis will be placed on using Linux as an Internet server.


1-12 Units

INTERNSHIP IN COMPUTER SCIENCE

COMPSCI 493

S/NC grade basis only.


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