2025-2026 Undergraduate General Catalog

COSC - Computer Science

Expand All

COSC 1120 Ethical Issues in Technology

The purpose of this course is to help students reflect upon the vexing ethical dilemmas and problems emerging in the information age. Legal issues involving current computer law will be discussed. Students are required to research a current topic in information ethics and present their findings to the class.

Credits

3

Offered

Every Fall

Notes

Previously: COSC 130

COSC 1210 Computer Science I

An introduction to computer science, which include topics such as software engineering, computer architecture, and programming languages. Emphasis on learning the styles, techniques, and methodologies necessary to design and develop readable and efficient programs.

Credits

4

Offered

Every Fall and Interim in person, every Summer online

Notes

Previously: COSC 210

COSC 1220 Computer Science II

A broadening of foundations for computer science with advanced concepts in software engineering and program development. Topics include an introduction to data structures, analysis of algorithms, and object-oriented design.

Credits

4

Prerequisites

COSC 1210

Offered

Every Fall and Spring, every Summer online

Notes

Previously: COSC 211

COSC 1300 Introduction to Data Science

An introduction to the discipline of data science, which uses computer-based tools to extract knowledge from data. This course introduces the student to data science practices and basic theory using practical, hands-on examples that explore methods of data manipulation, basic modeling techniques, and data visualization using modern data science programming tools.

Credits

3

Offered

Every Fall

Notes

Previously: COSC 212

COSC 1991 PLTW: Computer Science Essentials

Students will experience the major topics, big ideas, and computational thinking practices used by computing professionals to solve problems and create value for others. This course will empower students to develop computational thinking skills while building confidence that prepares them to advance to Computer Science Principles and Computer Science A.

Credits

3

Notes

Previously: COSC 100PL

COSC 1992 PLTW: Computer Science Principles

Using Python® as a primary tool, students explore and become inspired by career paths that utilize computing, discover tools that foster creativity and collaboration, and use what they’ve learned to tackle challenges like app development and simulation. This course is endorsed by the College Board, giving students the opportunity to take the AP CSP exam for college credit.

Credits

3

Notes

Previously: COSC 101PL

COSC 1993 PLTW: Cyber Security

Students explore the tools and concepts of cybersecurity and create solutions that allow people to share computing resources while protecting privacy.

Credits

3

Notes

Previously: COSC 102PL

COSC 1994 PLTW: Computer Science A

Students collaborate to create original solutions to problems of their own choosing by designing and implementing user interfaces and Web-based databases, as well as creating a game for their friends or an app to serve a real need in the their community. This course is aligned to the AP CSA framework.

Credits

4

Notes

Previously: COSC 103PL

COSC 2230 Computer Science III

This course is a continuation of Computer Science II and provides a deeper look into object oriented programming, generic types, lambda functions, stream processing, and concurrent processing. It also presents several basic data structures: stacks, queues, lists, trees, and graphs. Algorithms for sorting, searching, and memory management are also introduced.

Credits

3

Prerequisites

COSC 1220

Offered

Every Fall

Notes

Previously: COSC 260

COSC 2240 WEB Programming

This course is designed to provide a guide for programmers to develop web applications using popular web programming languages such as JavaScript and Perl. Web pages created using basic HTML are static. We will learn how to use web programming languages to bring web pages to life by adding dynamic content such as scrolling messages, animation, data input forums and interactive quizzes. We will discuss how to maintain and process clients' information using cookies and server-side processing.

Credits

3

Prerequisites

COSC 1220

Offered

Every other Spring, odd years

Notes

Previously: COSC 225

COSC 2250 C++ Programming

This course provides an overview of the C++ programming language.

Credits

3

Prerequisites

COSC 1220

Offered

Every other Fall, even years

Notes

Previously: COSC 226

COSC 2310 Intermediate Data Science

This course will expand upon the skills learned in Introduction to Data Science to conduct the entire machine learning process, from start to finish, to create and characterize models from data. Students will learn a collection of the most commonly used machine learning algorithms and how to apply them for a particular problem. In addition, students will evaluate the performance of a model and diagnose potential problems with a prediction. All of this will be conducted using a high-level programming language along with the most recognized and current machine learning libraries used in industry.

Credits

3

Prerequisites

COSC 1210 and COSC 1300

Offered

Every Spring

Notes

Previously: COSC 316

COSC 2410 Computer Organization and Architecture

This course is designed to provide students with an introduction to the organization and architecture of digital computer systems and to provide an introduction to assembly language programming. Topics include number systems, binary arithmetic, Boolean algebra, combinatorial and sequential logic circuits, Instruction Set Architectures, RISC-V assembly programming, and an overview of computer system components and their interrelationships.

Credits

4

Prerequisites

COSC 1220

Offered

Every Fall

Notes

Previously: COSC 235

COSC 2960 Curricular Practical Training

Students on an F-1 visa are eligible to work off campus to provide additional experience so long as the employment relates directly to the student's major area of study. The practical experience gained outside the traditional classroom supplements the theoretical and/or applied knowledge as a part of the student's coursework. The registration process for this course must be completed every term (including summers), as students must have their work authorization reissued each term to ensure continued enrollment. Jobs must be approved and verified by the International Programs Office before work may begin.

Credits

1

Notes

Previously: COSC 296

COSC 3210 Algorithms and Advanced Data Structures

This course provides a deeper look into algorithms and data structures from an object-oriented programming perspective. Data structures discussed will include linked lists, stacks, queues, trees, binary search trees, hash tables, heaps and graphs. Concepts such as generic types, iterators, and dynamic programming are also addressed.

Credits

3

Prerequisites

COSC 2230

Offered

Every Spring

Notes

Previous: COSC 327

COSC 3310 Data Visualization

In a data-rich, data-driven society, it is increasingly important to be able to tell a story with data. This course introduces the student to the fundamentals of advanced data visualization techniques, using both interactive computer visualizations and publication ready charts to display data and communicate model results. Whether your interests are related to business or science, effective, accurate, and ethical communication is essential in today’s data-centric world.

Credits

3

Prerequisites

COSC 1210 and COSC 1300

Offered

Every Spring

Notes

Previous: COSC 322

COSC 3410 Operating Systems

This course provides an introduction to fundamental operating systems concepts. Topics include the process model of computation and concurrent processes, inter-process communication and synchronization, process scheduling, deadlock, memory management, paging and segmentation, and file systems.

Credits

3

Prerequisites

COSC 2230

Offered

Every Spring

Notes

Previous: COSC 310

COSC 3420 Computer Networks

The objective of this course is to teach the student the basic principles involved in the design and operation of computer networks. Topics include computer network architectures and models, physical media and signaling, data link protocols, medium access control, routing and IP, transport services including TCP/UDP, network applications, local-area and wide-area networks. The course will consist of both a lecture portion and a hands-on laboratory.

Credits

3

Prerequisites

COSC 2230

Offered

Every other Interim, odd years

Notes

Previous: COSC 360

COSC 3430 Artificial Intelligence

This course introduces the student to various aspects of artificial intelligence (AI), whose goals are the creation of more useful machines by making them more "intelligent." The course focuses on the fundamentals of machine learning and uses supervised, unsupervised, and reinforcement learning algorithms for classification and prediction tasks. The student will learn to build models from data using regression, logistic regression, classification and regression trees, random forests, ensemble and boosted methods, neural network techniques, and deep learning using convolutional neural networks. These algorithms are then applied to the areas of machine vision, image feature recognition, natural language processing, and general predictive techniques used in the field of Data Science.

Credits

3

Prerequisites

Two courses required: (1) COSC 1210; and (2) COSC 1300 or COSC 2230

Offered

Every Fall

Notes

Previously: COSC 380

COSC 3970 Topics:

Special Topics in Computer Science

Credits

3

Notes

Previously: COSC 397

COSC 4210 Theory of Computation

This course offers an introduction to the foundations of computing. Topics include different models of computation such as finite automata, push-down automata, Turing Machines, and regular expressions; grammars and parsing techniques; solvable and unsolvable problems; and P and NP complexity classes.

Credits

3

Prerequisites

COSC 2230

Offered

Every Spring

Notes

Previously: COSC 330

COSC 4220 Software Engineering

This course introduces software engineering basics including systems engineering, system life cycles, requirements analysis and software design, software design principles, types of systems, implementation, quality assurance, software testing, software maintenance, and software project management.

Credits

3

Prerequisites

COSC 2230

Offered

Every Fall

Notes

Previously: COSC 350