Undergraduate Computer Science
Undergraduate Computer Science
2025 Summer 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.
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.
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.
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.
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.
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.
DATA STRUCTURES
COMPSCI 223
This course introduces data structures, which is a fundamental concept of computer science and forms the backbone of various important algorithms. These algorithms are not only of immense theoretical importance, but also are key ingredients of various important real-time applications such as GPS and web-searching. The main topics include basic data structures (lists, stacks, queues, trees, and graphs), searching and sorting, shortest-path algorithms, and hashing. Students will write programs that implement a variety of data structures and algorithms.
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.
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.
INTERNSHIP IN COMPUTER SCIENCE
COMPSCI 493
S/NC grade basis only.