This is an archived copy of the 2022-2023 catalog. To access the most recent version of the catalog, please visit http://catalog.uwgb.edu.

Computer Science (COMP SCI)

Courses

COMP SCI 198. First Year Seminar. 3 Credits.

First Year Seminar, topics vary.
Reserved for New Incoming Freshman.

COMP SCI 201. Introduction to Computing & Internet Technologies. 3 Credits.

Introduction to the history of computing, overview of computers, how they work, and relevant applications, especially to web site creation. Introduction to procedural programming using Microsoft Web Development tools part of the Microsoft Visual Studio.NET programming environment, the basics of HTML, CSS, and JavaScript.
Fall and Spring.

COMP SCI 221. Database Design & Management. 3 Credits.

This introductory course focuses on how databases and database systems work and how they are used in various data-driven applications. The course covers relational databases, SQL, different ways of designing databases, and management of databases. The course provides hands-on experience with exercises using modern database management systems such as SQL Server and/or MySQL and includes group discussions. The course also introduces some advanced topics, including database security, data privacy, data analytics, and big data. Working knowledge of Microsoft Office suite and Windows is required for this course.
P: COMP SCI 201 or COMP SCI 256 with at least a C grade
Fall Only.

COMP SCI 231. Introduction to IT Operations. 3 Credits.

This course covers the basic knowledge and skills needed to plan, design, control and monitor Information Technology services and infrastructure. Topics include the fundamentals of asset management, service provisioning, and functional operations. This course serves as an introduction to careers in the IT field.
Fall and Spring.

COMP SCI 240. Discrete Mathematics. 4 Credits.

Study of topics in mathematics that do not depend upon the limit process, including: number systems, set theory, logic, counting techniques, matrix manipulation, recursion, mathematical induction, graph theory, recurrence relations, and finite state machines. Techniques, computations, and data representations to facilitate problem-solving by hand and by computer.
P: MATH 104 with at least a C grade or WPT-MFND score >465 and WPT-AALG score >525 and WPT-TAG score >525
Fall and Spring.

COMP SCI 256. Introduction to Software Design. 4 Credits.

Students will learn a language common to software design and be introduced to software design techniques. This includes the problem statement, solution design, program testing, implementation, debugging, and final documentation.
P: None
Fall and Spring.

COMP SCI 292. Introduction to Mobile Platforms and Apps. 3 Credits.

An introduction and survey to the world of mobile computing. Each student will design, develop and produce their own app. Topics covered will include areas such as models of mobile information, GPS services, social networking, casual gaming, networked games, business apps, and information gathering -- all from the perspective of mobile platforms.
P: COMP SCI 201 and COMP SCI 256 with at least a C grade in both.
Fall Only.

COMP SCI 295. Special Topics. 1-3 Credits.

Computer Science Special Topics is designed to provide access to additional learning in the area of software engineering. Topics include Algorithmic complexity, No-SQL, professional software development frameworks/libraries and additional Computer Science principles. Course is repeatable if topics differ; may be taken 3 times for a total of 9 earned credits.

COMP SCI 297. Internship. 1-6 Credits.

Supervised practical experience in an organization or activity appropriate to a student's career and educational interests. Internships are supervised by faculty members and require periodic student/faculty meetings. Course is repeatable for credit; may be taken 3 times for a total of 6 credits.
P: Cumulative GPA of 2.0 or higher
Fall and Spring.

COMP SCI 298. Independent Study. 1-4 Credits.

Independent study is offered on an individual basis at the student's request and consists of a program of learning activities planned in consultation with a faculty member. A student wishing to study or conduct research in an area not represented in available scheduled courses should develop a preliminary proposal and seek the sponsorship of a faculty member. The student's advisor can direct him or her to instructors with appropriate interests. A written report or equivalent is required for evaluation, and a short title describing the program must be sent early inthe semester to the registrar for entry on the student's transcript.
P: fr or so st with cum gpa > or = 2.50; or jr or sr st with cum gpa > or = 2.00.
Fall and Spring.

COMP SCI 299. Travel Course. 1-6 Credits.

Travel courses are conducted to various parts of the world and are led by one or more faculty members. May be repeated to different locations.
P: cons of instr & prior trip arr & financial deposit.

COMP SCI 316. Advanced Software Design. 4 Credits.

A continuation of COMP SCI 256, this course deals with larger projects, more complex problems, and group work. It introduces linear data structures and their implementations. It also develops the object oriented design paradigm to include inheritance and polymorphism.
P: COMP SCI 256 with at least a C grade
Fall and Spring.

COMP SCI 351. Data Structures. 4 Credits.

Concepts involved in designing software with creation, storage, and retrieval of complete data, analyzing algorithms to determine time and space complexity, Using Abstract Data Types (ADTs) such as generalized lists, stacks, queues, trees and graphs, Hash tables, Searching and Sorting algorithms, Binary Search Tree, Balanced Trees, Recursion.
P: COMP SCI 240 AND COMP SCI 316 with at least a C grade in both.
Fall and Spring.

COMP SCI 352. Computer Graphics and Animation. 3 Credits.

Basic techniques of computer graphics, such as point and line plotting, clipping and windowing using the OpenGL platform. Use of graphics hardware; construction of graphics packages. Basic animation techniques.
P: COMP SCI 240 with at least a C grade. REC: COMP SCI 371
Fall Odd.

COMP SCI 353. Computer Architecture and Organization. 3 Credits.

Data representation, assembly language, procedure call protocols, memory, cache, and bus organizations, comparison of processor architectures, I/O systems, logic circuits, Boolean algebra.
P: COMP SCI 240 and COMP SCI 256 with at least a C grade in both.
Fall and Spring.

COMP SCI 357. Theory of Programming Languages. 3 Credits.

Comparison of several common languages and discussion of advantages and disadvantages of compiling and interpreting. Discussion of language design and syntax, data types, variables, constants, binding and scope of a variable and data handling procedure.
P: COMP SCI 316 with at least a C grade.
Fall Only.

COMP SCI 358. Data Communication and Computer Networks. 3 Credits.

Transmission media, analog and digital signals, modulation, compression, error detection methods, security and encryption protocols, Ethernet standards, TCP/IP protocols, routing algorithms, Internet and steraming applications.
P: COMP SCI 256 with at least a C grade.
Spring.

COMP SCI 361. Information Assurance and Security. 3 Credits.

An exploration of the fundamentals of information assurance and security (IAS). The course will introduce the underlying concepts of IAS in context of today's society. It will explore the security & ethical issues in information and computing from the perspective of today's computing world. It will discuss the appropriate remedies and defense strategies in the wake of today's security threats and attacks. Class topics will focus on physical security, cyber security, network security and software security through lectures and hands on experiments. This course will be of interest to students, who wish to obtain an understanding of the basic principles and practices in IAS. It will cover the fundamental concepts in IAS necessary for understanding the threats to security as well as various defenses against those threats.
P: COMP SCI 256 with at least a C grade.
Fall Only.

COMP SCI 371. Advanced Object-Oriented Design. 4 Credits.

Advanced object oriented design techniques in C++, including: objects, classes, class design and class relationships, inheritance, and polymorphism. Additional coverage of C/C++ topics such as pointers and pointer arithmetic, C strings, dynamic memory management, memory leaks, exception handling and operator overloading.
P: COMP SCI 316 with at least a C grade.
Fall and Spring.

COMP SCI 372. Software Engineering. 3 Credits.

Design and programming techniques for large and complex data-driven projects, using C++. Design based on Design Patterns. Use of Software Engineering metrics and formal methodologies. Fundamentals of component-based software development and software deployment techniques.
P: COMP SCI 201 and COMP SCI 221 with at least a C grade for both. REC: COMP SCI 316
Spring.

COMP SCI 450. Theory of Algorithms. 3 Credits.

Design, analysis and comparison of algorithms; divide and conquer techniques, greedy method, dynamic programming and smart searching. Applications to optimization with constraints and decision problems. Theory of computability including examples of NP-complete problems such as the "traveling salesman" problem.
P: COMP SCI 240, COMP SCI 316, MATH 202 with at least a C grade in all three.
Spring.

COMP SCI 451. Database Systems and Big Data Processing. 3 Credits.

This course covers advanced relational database concepts, data warehousing, and distributed database management systems. It introduces students to unstructured data and NoSQL databases and discusses the basics of real-time storage and processing of massive datasets using Hadoop ecosystems. The course includes hands-on exercises with Hadoop ecosystem and SQL Server.
P: COMP SCI 221 with at least a C grade
Spring.

COMP SCI 452. Operating Systems Using Linux. 3 Credits.

Methods and philosophies behind management of computing resources, including: memory management, process management, scheduling, process signaling, process synchronization, mutual exclusion; interprocess communication, introduction to the Linux Operating System and environment, shell scripting, C programming, process management, and message passing.
P: COMP SCI 240 with at least a C grade. REC: COMP SCI 371
Spring.

COMP SCI 464. Artificial Intelligence. 3 Credits.

Introductions to the fundamental types of Artificial Intelligence (AI) and their practical applications, Problem Solving by Searching, Adversarial Search, Constraint Satisfaction Problem, Neural Networks, Machine Learning, Decision Trees, Computer Vision, Reinforcement Learning, Implications of the use of AI.
P: COMP SCI 240 with at least a C grade. REC: COMP SCI 351 and MATH 202
Fall Only.

COMP SCI 474. Game Engines. 3 Credits.

This course provides students with an introduction to the theory and practice of video game programming. Students will participate in individual hands-on lab exercises, and also work together like a real game development team to design and build their own functional game using an existing game engine (e.g. Unity, Ogre).
P: COMP SCI 256 with at least a C grade.
Spring Odd.

COMP SCI 478. Honors in the Major. 3 Credits.

Honors in the Major is designed to recognize student excellence within interdisciplinary and disciplinary academic programs.
P: min 3.50 all cses req for major and min gpa 3.75 all UL cses req for major.
Fall and Spring.

COMP SCI 490. Capstone Essay in Computer Science. 3 Credits.

A project course in which a student does reading in computer science journals and produces a major research paper.
P: COMP SCI 358 and COMP SCI 361 with at least a C grade in both.
Fall Only.

COMP SCI 495. Teaching Assistantship. 1-6 Credits.

The student and supervising teacher must prepare a statement that identifies the course with which the assistantship will happen, objectives for the assistantship, and expectations in order to fulfill the course objectives. Students are not eligible to receive credit in both the course they assist the instructor with and the teaching assistantship in the same semester. Typically student has previously taken the course prior to enrollment in the assistantship. Course is repeatable for credit.

COMP SCI 496. Project/Research Assistantship. 1-6 Credits.

The student must prepare a research proposal, and both parties should identify the research arrangement and how the student will complete the work to fulfill the course objectives within the assigned term.
P: jr st.

COMP SCI 497. Internship. 1-12 Credits.

Supervised practical experience in an organization or activity appropriate to a student's career and educational interests. Internships are supervised by faculty members and require periodic student/faculty meetings. Course is repeatable for credit.
P: jr st.
Fall and Spring.

COMP SCI 498. Independent Study. 1-4 Credits.

Independent study is offered on an individual basis at the student's request and consists of a program of learning activities planned in consultation with a faculty member. A student wishing to study or conduct research in an area not represented in available scheduled courses should develop a preliminary proposal and seek the sponsorship of a faculty member. The student's advisor can direct him or her to instructors with appropriate interests. A written report or equivalent is required for evaluation, and a short title describing the program must be sent early in the semester to the registrar for entry on the student's transcript. Course is repeatable for credit.
P: fr or so st with cum gpa > or = 2.50; or jr or sr st with cum gpa > or = 2.00.
Fall and Spring.

COMP SCI 499. Travel Course. 1-6 Credits.

Travel courses are conducted to various parts of the world and are led by one or more faculty members. May be repeated to different locations.
P: cons of instr & prior trip arr & financial deposit.