Course CSE101
Title Computer Science Principles
Credits 3
Course Coordinator

Steve Skiena


Introduces central ideas of computing and computer science, instills practices of algorithmic and computational thinking, and engages students in the creative aspects of the field. Also introduces appropriate computing technology as a means for solving computational problems and exploring creative endeavors. Includes weekly computer programming assignments, but assumes no previous programming experience. Effective Fall 2022: May not be taken by students with credit for CSE 114 or CSE 160.

Bulletin Link

Prerequisite Prerequisite: Level 3 or higher on the mathematics placement examination

Anti-requisite: May not be taken by students with credit for CSE 114 or CSE 160

Course Outcomes
  • An ability to use computing tools and techniques to create computer program artifacts
  • An ability to use multiple levels of abstraction, models, and simulation in computation
  • An ability to use algorithms to develop and express solutions to computational problems
  • Required: Explorations in Computing: An Introduction to Computer Science and Python Programming by John S. Conery. Chapman and Hall/CRC, 2014. ISBN 978-1466572447.
    • While completing the assigned readings, students are expected to complete the tutorials at the end of each section of each chapter. These tutorials reinforce the concepts in each chapter and provide practical, hands-on experience in Python programming. The tutorials also supplement the material covered in lecture, lab and homework. Students are responsible for completing the assigned readings and tutorial exercises in preparation for examinations.
  • Optional: Blown to Bits: Your Life, Liberty, and Happiness after the Digital Explosion, by Hal Abelson, Ken Ledeen, and Harry Lewis, Addison-Wesley. 2008. ISBN 0137135599. You can download this book for free at the given link.
Major Topics Covered in Course
  • Data representation and compression
  • Computational thinking and problem solving
  • Basic algorithms for searching and sorting
  • Boolean logic
  • Fundamentals of programming in the Python language
  • Social, legal and ethical issues in computing

Each lab is run in a closed setting, where students must hand in a solution at the end of the lab.

Course Webpage