If you are teaching or learning introductory computer science, algorithms, discrete mathematics, or combinatorics, you may find the material here to be useful. These pages provide access to an enormous amount of content (I only teach a fraction of it myself), so I offer the following suggestions for taking advantage of it.
Watch a video. In my experience, many people make judgements about the utility of online videos without ever experiencing one. The VIDEOS tabs on these pages provide access to sixty lectures, along with a sample excerpt for each courses. To see what many people are experiencing nowadays, watch one of the samples (if you speed it up to double or even triple speed, it will take just a few minutes) .
Scan the slides. An excellent way to get an idea of a course’s content is to scan through the lecture slides. The SLIDES tabs on these pages provide a convenient way to do so.
Sign up for a MOOC or a certificate course. The “Quick Links” page here provides links to online courses that will take you through the material, using various types of assessments and feedback. Along with the textbooks, they provide with you with the opportunity gain knowledge and skills in proportion to the time and effort you put into them. These courses have attracted millions of enrolls.
Browse the booksites. The “Booksites” tabs on these pages provide access to a wealth of information that support the lectures and the textbook. If you spend some time browsing, you can see the depth and breadth of the information available.
Look at the textbook. We view each textbook as the “ground truth” for each course. We don’t cover everything in the book in a course, but everything in a course is placed into full context in the book.
Try an assignment. Weekly programming assignments are the backbone of our introductory courses. Among many other things, they serve the purpose of building confidence in our students and showing them that accomplishing amazing things with a computer is much less difficult than they might have thought. We provide a great deal of information to help them succeed. The assignments are carefully specified, and checklists can help keep you on track.
Study our exam questions. They are not perfect, but our exams in recent years are alpha- and beta-tested and graded with rubrics developed prior to the exams. We provide many exams with solutions on our Princeton websites. They are an expression of what we expect students to know after studying this material, and you are welcome to use them. There are also numerous short-answer questions in our course materials for you to study.