Computer Science (COMPUTER)

For up-to-date information on when online courses from the Distance Learning Campus are typically offered, see https://www.uwplatt.edu/department/professional-program-support/course-offerings.

COMPUTER 1010 Introduction to Computer Science 1 Credit

Introduces foundational ideas in computing including: binary numbers, computer organization, networks, cybersecurity, software engineering, applications of computing technologies (such as big data, machine learning, AI) their impact on society, and ethical concerns in computer science, software engineering, and cybersecurity.
Components: Class
Typically Offered: Fall/Spring/Summer

COMPUTER 1130 Introduction to Programming 3 Credits

An introduction to programming for students with no previous computer programming experience. Covers control structures, procedures, programming environments, and problem solving.
Components: Laboratory, Class
Typically Offered: Occasional

COMPUTER 1430 Introduction to Computer Programming 3 Credits

A technical course in computing, algorithms, data representations, problem solving, and programming. Modularity and abstraction stressed in algorithm development. Style and documentation stressed in program development. Labs and programming assignments tie these programming concepts together.
Components: Laboratory, Class
Prereqs/Coreqs: P: previous programming experience, such as that provided by COMPUTER 1130 is recommended
Typically Offered: Fall/Spring/Summer

COMPUTER 1830 Microcomputer Applications 3 Credits

A course recommended for all non-computer science majors that need to know how to use the microcomputer. The major emphasis will be on using microcomputers with the most popular kinds of computer software used in business and education today including word processing, spreadsheets and database management. (Not open to computer science majors.)
Components: Laboratory, Class
Typically Offered: Fall/Spring/Summer

COMPUTER 2230 Programming in COBOL 3 Credits

To develop an understanding of, and provide practice in the use of proper strategies and techniques for business program design and development. To develop ability to apply the COBOL language to implement problem solutions. To gain the background for further study of software design and computer programming in a business environment. Emphasis on structured programming and program style.
Components: Class
Prereqs/Coreqs: P: COMPUTER 1430
Typically Offered: Occasional

COMPUTER 2340 Programming in VB.NET 3 Credits

An introduction to event-driven, object-oriented programming techniques using Visual Basic in the .NET Framework. Students will design, code, and debug Graphical User Interface (GUI) programs applicable to business applications.
Components: Class
Prereqs/Coreqs: P: COMPUTER 1430
Typically Offered: Occasional

COMPUTER 2430 Object-Oriented Programming 3 Credits

An introduction to object-oriented programming, with emphasis on designing, implementing and testing classes. This course includes the study of standard class libraries and use of inheritance and polymorphism for building subclasses and extensibility. Students will learn how to program graphical user interfaces and implement and execute unit tests
Components: Laboratory, Class
Prereqs/Coreqs: P: COMPUTER 1430 with a C- or better
Typically Offered: Fall/Spring

COMPUTER 2630 Data Structures 3 Credits

Coverage of advanced programming topics focused on the logical structures of data. The course covers simple and advanced data structures (such as stacks, queues, linked lists, trees, graphs, and hash-tables), their operations (including recursive operations), and efficiency-analysis of these data structures
Components: Laboratory, Class
Prereqs/Coreqs: P: COMPUTER 2430 with C- or better
Typically Offered: Fall/Spring

COMPUTER 2990 Computer Science Special Topics 1-3 Credits

The subject matter and instructor for each instance of this class will be listed in the class schedule. Students should check with the instructor for details.
Components: Class
Typically Offered: Occasional

COMPUTER 3010 Algorithms 3 Credits

This course covers the implementation and analysis of fundamental algorithms, techniques to analyze the asymptotic performance of algorithms for cases (worst, best, and average) and bounds (upper bounds, lower bounds, and both upper and lower bounds), common algorithms strategies, such as dynamic programming, divide-and-conquer, and greedy, algorithms related to graph theory and NP-complete problems and proofs.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630 with a C- or better
Typically Offered: Fall

COMPUTER 3030 Artificial Intelligence 3 Credits

This course provides an overview of various AI concepts including various knowledge representation schemes (propositional, predicate, and first-order logic), search (local, global, uninformed and informed), machine learning, and natural language processing. Discussion of the successes and limitations of past and current AI programs. Programming assignments provide hands-on experience.
Components: Class
Prereqs/Coreqs: P: C- or better in COMPUTER 2630 and (MATH 2730 or MATH 2130)
Typically Offered: Spring

COMPUTER 3130 Systems Analysis and Design 3 Credits

Provide an understanding of the duties of the systems analyst and the specific methods and techniques for system development (preliminary survey through system design) with an introduction to utilizing CASE software throughout the entire process.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2230
Typically Offered: Occasional

COMPUTER 3230 Operating Systems 3 Credits

This course introduces students to the organization and structure of modern operating systems. Topics include: processes, mutual exclusion, critical sections, parallel processing, real and virtual storage, job scheduling, performance, security, and protection.
Components: Class
Prereqs/Coreqs: P: C- or better in COMPUTER 2430
Typically Offered: Spring

COMPUTER 3340 Windows Programming 3 Credits

Continuation of Windows programming techniques. Discussion of the Component Object Model (COM), Dynamic Link Library (DLL), and the Windows Application Programming Interface (API). Study also includes the Windows common controls, some Internet controls, and Dynamic HTML (DHTML).
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630 or (COMPUTER 2340 AND COMPUTER 2430)
Typically Offered: Occasional

COMPUTER 3520 Programming Language Structures 3 Credits

A study of programming language topics which include data objects, data types, storage management, syntax, BNF descriptions, semantics, lexical analysis and parsing. Examples taken from traditional languages as well as more modern languages.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630
Typically Offered: Fall

COMPUTER 3530 Systems Development and Implementation 3 Credits

Strategies and techniques of analysis and design for producing logical methodologies for dealing with complexity in the development and implementation of information systems. Use of software tools, file access methods and operating system facilities.
Components: Class
Prereqs/Coreqs: P: COMPUTER 3130
Typically Offered: Spring

COMPUTER 3630 Database Design and Implementation 3 Credits

This course will explore fundamental concepts necessary for the design, use, and implementation of database systems. Study of database modeling and design, languages and facilities provided by the database management systems, and techniques for implementing database systems will be examined. Major database models will be discussed with primary focus on the relational database model and query languages.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2430 and MATH 1630 or MATH 2130 or MATH 2730
Typically Offered: Spring

COMPUTER 3720 Mobile Application Development 3 Credits

Mobile computing devices have become ubiquitous in our communities. This course is focused on the creation of mobile applications, e.g., different game apps and online shopping apps. Through hands-on projects, students gain experience with developing a mobile app using the selected platform. Topics include development framework, user interface design, architecture, data management, and app deployment.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630 or COMPUTER 3340
Typically Offered: Occasional

COMPUTER 3830 Data Communications and Computer Networks 3 Credits

An introduction to data communications and computer networks. Study of the basic principles with a focus on the layers, protocols, and security used in the Internet. Socket-based and other programming projects.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2430
Typically Offered: Fall

COMPUTER 3870 Secure Web Development 3 Credits

The course introduces web development protocols and technologies. Different types of web attacks, such as SQL injection, XSS, SSL, secure tokens, prepared SQL and their countermeasures are covered. Homework assignments provide students hands-on experience in analyzing attacks and implementing secure countermeasures.
Components: Class
Prereqs/Coreqs: P: C- or better in COMPUTER 3630
Typically Offered: Occasional

COMPUTER 3920 Computer Graphics 3 Credits

An introduction to computer graphics including transformations; modeling; viewing and projection; color, lighting and shading; texture mapping; interaction; and animation. Use of a pipeline-based graphics library such as OpenGL. Several programming assignments, including some games-based projects.
Components: Class
Prereqs/Coreqs: P: COMPUTER 2630 and MATH 2640
Typically Offered: Occasional

COMPUTER 4030 Machine Learning 3 Credits

This course introduces students to fundamental concepts of machine learning and its applications. Hands-on development of unsupervised algorithms (including clustering, dimensionality reduction, and probabilistic methods) and supervised algorithms (including regression, decision trees, neural networks, kernel machines, and ensembles), development and use of machine learning models for various types of application domains will be emphasized.
Components: Class
Prereqs/Coreqs: P: C- or better in (COMPUTER 1430 and ELECTENG 3210) or (COMPUTER 1430 and (MATH 1830 or MATH 4030) and (MATH 2130 or MATH 2730)
Typically Offered: Fall-ODD

COMPUTER 4110 Seminar 1 Credit

The course consists of lectures/discussions presented by both computer science faculty and students enrolled in the class.
Components: Seminar
Prereqs/Coreqs: P: junior/senior standing
Typically Offered: Occasional

COMPUTER 4230 Applications in Information Systems 3 Credits

Applications of computer programming and system development concepts, principles and practices to a comprehensive system development project. A team approach is used to design and develop a realistic system of moderate complexity. Also includes coverage of advanced features of the COBOL language.
Components: Class
Prereqs/Coreqs: P: COMPUTER 3530
Typically Offered: Occasional

COMPUTER 4330 Computer Science Project I 3 Credits

First part of 2-course capstone project sequence in computer science. Students work in teams to solve real world commercial, industrial or research problems. Work involves planning, designing, and implementing a computing solution. Extensive oral and written work is required.
Components: Class
Prereqs/Coreqs: P: (Senior standing or permission of the department) and C- or better in (COMPUTER 3630 or COMPUTER 3030)
Typically Offered: Fall

COMPUTER 4730 Computer Science Project II 3 Credits

The students complete the project started in COMPUTER 4330. In addition to the hardware or software developed, students write a detailed project report documenting the solution and its evaluations and present their findings.
Components: Independent Study
Prereqs/Coreqs: P: C- or better in COMPUTER 4330 or SOFTWARE 4330 or CYB 4330.
Typically Offered: Spring

COMPUTER 4830 Special Topics in Computer Science 1-3 Credits

The subject matter and instructor for each instance of this class will be listed in the class schedule. Students should check with the instructor for details.
Components: Laboratory, Class
Prereqs/Coreqs: P: junior or senior standing
Typically Offered: Occasional

COMPUTER 4930 Independent Study in Computer Science 1-3 Credits

For the student who wishes to delve more deeply into a specific area of study topics not available through the scheduled classes.
Components: Independent Study
Typically Offered: Fall/Spring

COMPUTER 4990 Internship 1-6 Credits

Enhancement of the educational experience through specific work and observation with computers in a business, industry or institution. Prerequisites: upper-class standing,
Components: Field Studies
Prereqs/Coreqs: P: junior or senior standing; 18 or more hours of computer science credit
Typically Offered: Fall/Spring/Summer