Courses for Non-Majors
If you are interested in taking CS courses to learn more about computer science or to satisfy various general requirements, we offer several courses that have no prerequisites and can be taken in any order. Preview the drop down below for more information on these offerings.
CS 101: INTRODUCTION TO COMPUTING
Computers are taken for granted in today’s society, but most users have no knowledge of how computers work. CS 101 helps students gain a deeper appreciation of the capabilities and limitations of computing. Questions addressed include: What is a computer? How does computation happen? How is information represented within a digital computer? What is computer programming? What are algorithms, how do we measure their efficiency, and why does this matter? Why does a computer have an operating system, and what does it do? What is the Internet, and how does it work? How do applications like Google and Facebook perform their magic? For more information, please refer to the CS 101 information page.
CS 103: INTRODUCTION TO INTERNET TECHNOLOGIES AND WEB PROGRAMMING
CS 103 invites students to engage with the Web in order to gain an understanding of what it is, how to use it, and how to contribute to it. Students learn to view the Web and the underlying Internet architecture as instances of the mathematical abstraction of a network. They learn how modern Web technologies like search exploit fundamental aspects of networks, and they thereby become more effective users of these technologies. Finally, students become active contributors to the Web by learning the basics of Web programming and by creating a full-blown original website as an independent semester-long project. For more information, please refer to the CS 103 information page.
CS 105: INTRODUCTION TO DATABASES AND DATA MINING
Databases are everywhere. Retailers use data about customers and purchases to increase profits. Researchers analyze genomic data to find treatments for diseases. Online music and video services use data mining to deliver customized recommendations. How does all this work? CS 105 examines how data is organized, analyzed, and displayed. Topics include relational databases and the SQL query language, the writing of programs to analyze data, the principles of data visualization, and data-mining techniques for discovering patterns in data. At the end of the course, students apply the topics they have learned to a collection of data that interests them. For more information, please refer to the CS 105 information page.
CS 108: INTRODUCTION TO APPLICATIONS PROGRAMMING
As a society, we have become dependent on computer applications in our personal and professional lives—from email programs and database software to the programs that drive the websites where we shop online. But what is computer software, and how is it developed? CS 108 is an introduction to object-oriented and procedural programming that covers the fundamental constructs and patterns present in all programming languages, with a focus on developing applications for users. While learning to program, students also develop problem-solving skills and ways of thinking that can be applied to a variety of disciplines. (Cannot be taken for credit in addition to CAS CS 111.) For more information, please refer to the CS 108 information page.
CS 111: INTRODUCTION TO COMPUTER SCIENCE I
The first course for computer science majors and anyone seeking a rigorous introduction. Develops computational problem-solving skills by programming in the Python language, and exposes students to variety of other topics from computer science and its applications. Carries MCS divisional credit in CAS. For more information, please refer to the CS 111 information page.
Elective Course Registration Procedure
In order to ensure enough space in our elective classes for CAS/GRS CS students, the Department of Computer Science prioritize students who are officially declared in a Department of Computer Science academic program (as a minor, CS major, Math/CS major, or as a graduate student) for our CS 400 level courses; for CS 500+ level courses, College of Engineering students are included in our prioritization. Follow the below decision tree if you are unsure about your ability to register for CS elective courses.