These are my lecture notes from CS681: Design and Analysis of Algo rithms, a one-semester graduate course I taught at Cornell for three consec utive fall semesters from '88 to.
Student learning and the depth of the student's knowledge increase when active learning methods are employed in the classroom. Active learning strategies are discussed in general computer science course work and as used in a theory of computation course. Difficulties with active learning and techniques for dealing with these are also presented.
Active and cooperative learning can energize the instructor, students, and the classroom. This fourth and final article in a series on active and cooperative learning discusses the design and evaluation of classroom exercises. Additional suggestions to manage an active and cooperative learning environment are discussed.
Information about the value of active and cooperative learning for students does not typically provide hints for making it work in the classroom. This and subsequent articles in this series will discuss tips and tricks that help to make classroom activities successful. This first article gives a brief background on active and cooperative learning. The… (More)
Active and cooperative learning provides one way to encourage student involvement with course material. This second article in a series on active and cooperative learning discusses different levels of risk in class exercises and how activities can be designed to minimize that risk. Asking questions and class discussions are ways to enliven the classroom.… (More)
Active and cooperative learning can energize the instructor, students, and the classroom. This third article in a series on active and cooperative learning discusses the characteristics that make groups effective as well as techniques for the formation and evaluation of groups. Icebreaking exercises that can demonstrate the value of cooperation and teamwork… (More)
Computer science has undergone significant changes since the 1970s, which are reflected in computer science education. One consistency has been the need for an introduction to programming (generically called CS1) at the undergraduate level, but this course has seen a number of revisions. Each new language or paradigm has added content: more data options,… (More)
Having been in the IT industry for 30 years and seen the progression from efficient software programs and true multitasking operating systems that ran in 16–32 kilobytes (no, that is not a misprint) to the bloatware of today, this book came as a refreshing change to me. Here is a book that looks at algorithms in terms of efficiency and space (that is,… (More)
Computer graphics education in computer science is a very diverse world. This world is undergoing a transformation, albeit slowly, from traditional methods common in the days of limited computing power, screen resolution and available colors, to a modern approach where knowing how to draw lines pixel by pixel may not be as critical as it once was. This… (More)