This full year course is intended for students who’ve successfully completed AP Computer Science A and are looking to deepen their understanding of computer programming concepts.
Algorithms are at the heart of every computer program used today. A well designed algorithm produces a program that runs efficiently and correctly. However, for every problem, there are numerous possible solutions and selecting an appropriate solution can be challenging.
This course will introduce students to the fundamentals of designing algorithms, teach them how to prove their correctness and analyze their efficiency. A variety of algorithm design techniques will be explored with common problems such as searching and sorting. In addition, the design and implementation of elementary data structures such as linked lists, hash tables, and binary search trees will be covered. Each unit concludes with a project that highlights some common problem solving techniques. For example, the recursion unit has students implementing their own version of Minesweeper while later units have students writing programs to escape from mazes, building games with a smart computer player, and designing genetic algorithms where the software learns to perform better over time.
Genetic Algorithms
Wizard Defense
Mr. David Gumminger
847-415-4612
Office: 1410
Availability By Appointment:
7:30am M, W, Th
Education:
Master’s degree in Teaching from Trinity International University (2013)
Master's degree in Electrical Engineering from Kansas State University (1993)
Bachelor’s degree is Computer Engineering from Kansas State University (1991)
Mr. Robert Pinta
847.415.4162
Office: 1410
Availability By Appointment:
7:30 am M, Tu, Th
Education:
Master’s degree in Teacher Leadership from Roosevelt University
Bachelor’s in Mathematics Education from UIUC