Logic and Algorithms - An Introduction to
Computer Science/Engineering

(began 2007-2008)

This one-year course will expose students to a wide variety of computer science/engineering topics. The 3 main medium that will be used are 3D interactive graphics progamming, 2D robot programming, and digital circuits/logic. A simplified version of the course topics include object-oriented programming, numbering systems, boolean logic/algebra, and logic/digital gates/circuits.

Why Computer Science? What is it? Who is good at it?

3D Interactive Graphics Programming using Alice

(Alice demo)

During this unit we'll ask some questions such as, "How does a computer scientist solve problems by modeling the real world? How do objects interact, take responsibility, and collaborate toward the common goal of solving problems? How does a high-level programming language make a computer do low-level, powerful things?"

This highly innovative and interactive programming environment developed by Carnegie Mellon University is designed for the beginning programmer. Students will program 3D environments by dragging/dropping commands and action figures and "storyboarding" their programs. In a highly addictive, fun, game-like, yet academic manner, students will learn the major software development concepts (e.g., object-oriented programming, control structures, modularization, and algorithm development to mention a few).

Carnegie Mellon and Electronic Arts Inc. team up to bring "The Sims 2" characters to interactive game programming for introductory computer science courses! (article)

2D Robot Programming using Karel

(MazeBot - SorterBot narrated)

This unit will pose and answer such questions as, "What is the art of computer science/programming? What is it about computer programming that makes it both pure logic and mathematics based and yet highly creative and dynamic at the same time? Can I meld my creative side with my enthusiasm for science and engineering?

Learn to program in a fun, visual manner using Karel the Robot. Students will learn the Java programming language, the most widely used language for introductory computer science among colleges and universities - not to mention industy and the AP program. You are sure to have used some sort of Java Applet on the WWW, whether for playing a game or simply navigating web sites. In addition, this course prepares students for the AP Computer Science A course in the following year. (learn more)

Digital Circuits - Logic and Circuit Design

large pic
(sample lab)
(sample lab - movie)

During this unit we'll ask such questions as, "How does a computer do what it does? How is mathematics realized inside the computer? How do circuits/computers make decisions? How do they count, shift bits, and remember what they are doing?"

We'll investigate the logical decision making process from user specifications to circuit completion. We'll empirically investigate these questions and more using a digital logic trainer and the 7400-series of TTL integrated circuits. We'll learn the skill of breaking down your thoughts to their simplest form, testing/debugging/improving them, and then putting them back together to form a complete system. Along the way, we'll see how an engineer thinks, how an engineering diagram is read, and how mathematics is the basis of it all.

course's main page
Instructor's Web Page