KSAWorks
KSAWorks
Knowledge • Skills • Abilities
Skidmore College · Courses

CS

32 courses with the subject CS, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.

CS 106Introduction to Computer Science I4

An introduction to the principles of design, implementation, and testing of computer programs. The course covers language features such as control structures, classes, file I/0, and basic data structures including arrays. Other topics include recursion and fundamental algorithms, such as elementary searching and sorting algorithms. May not be taken for credit by students who have taken or are currently taking CS 107, CS 206, CS 209 or CS 226.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 107An Introduction to Computer Science with Animations and 2D Games4

An introduction to computer science. Students will develop simple 2D games, animations and simulations using the Java programming language and Processing, a Java package designed to make programming accessible to visual artists. The course introduces the fundamental techniques of computer programming, software design, and algorithm development.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 123System Administration1

Students will explore three topic areas focused on computer system administration: shell scripting, server administration, and networking. The goal of the course is to provide sufficient detail and hands-on learning for each topic area, enabling students to effectively handle routine aspects of server management while identifying and mitigating security risks related to server configuration and operation. Students with prior programming experience similar to CS106 may contact the professor to request a prerequisite override.

Subject
CS
Credits (min)
1
Credits (max)
1
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 151Introductory Topics in Computer Science1-4

An investigation of a particular computer science subject area not available in existing course offerings. This course may be repeated for credit only when the subject area is different.

Subject
CS
Credits (min)
1
Credits (max)
4
Credit unit
Credits
Type
course
Repeatable
may be repeated for credit only when the subject area is different.
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 202Computers and Society3

An overview of computers' impact on society and discussions focused on software developer accountability, with particular attention to questions of power, justice, and identity. Topics include professional conduct, privacy, surveillance and free speech, vulnerable populations, human factors in security and privacy, case studies of software risks, user attention and engagement, bias and fairness, propaganda and misinformation, intellectual property, copyright and patents, and government and technology.

Subject
CS
Credits (min)
3
Credits (max)
3
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 209Data Structures and Mathematical Foundations4

An introduction to data structures and the mathematical foundations of algorithms. Properly organizing the data within a software application is critical to the efficiency of the application’s execution as well as the ease with which the application is developed. This course will introduce the fundamental data structures used in computer science, including linked lists, stacks, queues, priority queues, search trees, and hash tables. In addition, the course will introduce foundational discrete mathematical concepts used in the design and analysis of algorithms, including mathematical induction, asymptotic analysis and recurrence relations.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 218Introduction to Computer Systems4

A bottom-up approach to learning how a computer works. We begin with binary data representation and logic circuits, and build up to how a processor runs a program and cache enables the processor to quickly access data. Students use a systems programming language and assembly language for exploring the interaction between software and hardware and for introducing parallel computing concepts.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 225Applied Data Science4

An introduction to Knowledge Discovery and Data Mining (KDD), also known as Machine Learning. Students will gain hands-on experience with a variety of concepts and tools associated with the field of KDD. Students will also study and apply KDD processes, tools, and techniques, working with small and large data sets representing various business domains and problem types. The class will cover topics such as common database interactions (relational, document, and graph databases), data set creation, data quality analysis, dimension reduction, variance and bias in data, classifier types, and model assessment approaches.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 226Software Design4

An introduction to building complex software. Students will explore object-oriented (OO) programming and design patterns in depth. We will also focus on developing skills for testing and debugging of software. Finally, we will utilize a set of frameworks related to software development and testing.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 275Introduction to Research in Computer Science1

An introductory exploration of research in computer science. The students, in collaboration with a faculty mentor, will participate in a research project in a particular area of computer science. The research projects may, for example, include designing new algorithms for computational problems, surveying the research literature, implementing existing algorithms from the research literature, or performing computational experiments.

Subject
CS
Credits (min)
1
Credits (max)
1
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 275HIntroduction to Research in Computer Science1

An introductory exploration of research in computer science. The students, in collaboration with a faculty mentor, will participate in a research project in a particular area of computer science. The research projects may, for example, include designing new algorithms for computational problems, surveying the research literature, implementing existing algorithms from the research literature, or performing computational experiments.

Subject
CS
Credits (min)
1
Credits (max)
1
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 276Selected Topics in Computer Science1-4

Topics that complement the established lower level course offerings in computer science will be selected. May be repeated for credit.

Subject
CS
Credits (min)
1
Credits (max)
4
Credit unit
Credits
Type
course
Repeatable
May be repeated for credit.
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 277Topics in Computer Science with Lab4

Topics that complement the established lower level course offerings in computer science will be selected.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Repeatable
May be repeated for credit.
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 305Design and Analysis of Algorithms4

A study of techniques used to design algorithms for complex computational problems that are efficient in terms of time and memory required during execution. Students will also learn the techniques used to evaluate an algorithm's efficiency. Topics include advanced sorting techniques, advanced data structures, dynamic programming, greedy algorithms, amortized analysis, graph algorithms, network flow algorithms, and linear programming.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 306Computability, Complexity, and Heuristics4

Using abstract machine models to measure the complexity of computational problems and to explore the limits of computational power. In addition, students will investigate strategies to deal with intractable computational problems when they arise. Topics include finite automata, Turing machines, undecidability, NP-completeness, approximation algorithms, heuristic algorithms, and experimental algorithmics.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 316Foundations of Machine Learning4

An introduction to the mathematical foundations of machine learning. Students will investigate the mathematics underlying much of machine learning and explore some of the major techniques used in the field. Topics may include gradient descent, perceptrons, support vector machines, kernel methods, backpropagation, and principal components analysis. Three hours of lecture and two hours of lab each week. In the labs, students will apply machine learning techniques to empirical data and quantitatively evaluate and compare the effectiveness of the techniques.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 318Introduction to Computer Organization4

An introduction to multilevel machines, including basic components of a computer, digital circuits, Boolean algebra, microprogramming, machine and assembly languages, and operating systems.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 322Artificial Intelligence4

An introduction to the field of artificial intelligence. The course covers the main techniques used to develop computer programs to solve problems that we normally think of as requiring intelligence. Topics include search, games, knowledge representation, logical reasoning systems, and machine learning.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 325Computer Graphics4

Computer graphics involves using computers to generate images, as opposed to generating images using cameras. Computer graphics images typically try to mimic reality. In this course, students will explore the necessary background for further study in computer graphics. Students will explore the basics of human vision that influence the way computers generate images; projections from three-dimensional space to two-dimensional space; various models of real-world entities such as lighting, surface reflectance, and color; and classic algorithms in computer graphics that students will implement and with which they will have the opportunity to experiment.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 326Software Engineering4

An exploration of software engineering and organization principles vital to building large enterprise-scale applications. Leveraging the lessons-learned from readings and using management tools, the class will form a software development team focused on designing, developing, and deploying a multi-tier application. Includes significant reading and programming effort.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 327Computer Networks4

An introduction to the fundamental concepts of computer networks. Students will learn how the Internet works. Students will explore real data as it passes through a network; learn how data is interpreted and forwarded from the source to the destination address; implement services to send, transport, and receive data correctly; devise analytical techniques to better understand data collected from real network users; and gather information about known network security attacks.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 328Mobile Computing4

An introduction to the design, implementation and publishing of mobile applications. Students will learn how to take their innovative ideas from conception to a working prototype mobile application through a series of rigorous hands-on programming assignments and group projects.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 329Operating Systems4

An introduction to operating systems: software that safely and fairly shares computer hardware resources among multiple, simultaneously running applications. Topics covered include computer processor (CPU) sharing and scheduling, memory virtualization and management, and file systems. Students will complete programming projects to implement concepts in a real operating system.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 330Programming Languages and Compilers4

A study of the design and implementation of programming languages, emphasizing theoretical foundations and practical application. Students explore major language paradigms—imperative, object-oriented, functional, and declarative—through the lens of syntax, semantics, and language design trade-offs. Topics include regular expressions, grammars, and formal semantics, providing the tools to reason about language correctness and design. A central feature of the course is a semester-long project in which students implement a compiler, applying theoretical concepts to construct a working system. By the end of the course, students will have developed a deeper understanding of how language designers create programming languages, how languages shape problem-solving, and how to effectively evaluate and learn new languages.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 331Computer Vision4

Computer Vision (CV) trains machines to understand images and video. Classifying and detecting/recognizing objects in images are common problems that CV tackles. Machine Learning techniques, specifically Convolutional Neural Networks (CNNs), are often used. Students will learn digital image processing techniques that form the basis of many vision algorithms, as well as the concepts behind CNNs for classification.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 332Deep Learning4

An introduction to deep learning. Deep learning is a powerful technique for finding patterns in data that has been the driving force behind the advancement of AI in the twenty-first century. Students will investigate the primary techniques that fall under the umbrella of deep learning as well as the underlying mathematics. Topics include probability, gradient descent, backpropagation, neural networks, recurrent neural networks, transformers, and large language models. Three hours of lecture and two hours of lab each week. In the labs, students will develop machine learning applications and experiment with those applications on real data.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 355Database Systems4

An introduction to database systems: software that stores, manages, and provides efficient access to a collection of structured information. Topics covered include the relational model, the structured query language (SQL), and algorithms and data structures for efficiently searching and managing data that is larger than main memory. Students will complete a project using a relational database to store and query data related to an application of their choice.

Subject
CS
Credits (min)
4
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 371Independent Study in Computer Science1-4

Special study in computing outside of the regular departmental offerings.

Subject
CS
Credits (min)
1
Credits (max)
4
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 376Advanced Topics In Computer Science3

Advanced topics that complement the established course offerings in computer science will be selected.

Subject
CS
Credits (min)
3
Credits (max)
3
Credit unit
Credits
Type
course
Repeatable
May be repeated for credit.
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 381Senior Research3

Optional for computer science majors. Recommended for those working toward professional careers or graduate study in computer science, and those seeking to satisfy the criteria for departmental honors.

Subject
CS
Credits (min)
3
Credits (max)
3
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 382Senior Research3

Optional for computer science majors. Recommended for those working toward professional careers or graduate study in computer science, and those seeking to satisfy the criteria for departmental honors.

Subject
CS
Credits (min)
3
Credits (max)
3
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu
CS 399Internship in Computer Science1-9

Professional experience at an advanced level for juniors and seniors with substantial academic experience in computer science and mathematics. With faculty sponsorship and departmental approval, students may extend their educational experience in computer science, software engineering, or applied mathematics.

Subject
CS
Credits (min)
1
Credits (max)
9
Credit unit
Credits
Type
course
Edition
2026-2027
Catalog
2026-2027 Catalog
Source
catalog.skidmore.edu

Source: Skidmore College's catalog, linked per course · table learning_unit · CourseShelf publish 61