My IMPRINT Experience

# My IMPRINT Experience

## My IMPRINT Experience

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. My IMPRINT Experience Luiz F. Mendes Computer Science Major Urbana, IL

2. Background • I was born in Brazil in 1986, but my family moved to the United States in 1990. • We have been living in Urbana, where I attended King Elementary School, Urbana Middle School, and Urbana High School.

3. Hobbies and Interests • Soccer (playing or watching) • Basketball – specially college basketball • Music • Movies • Chess • Math

4. The Class – CS 125 • “Introduction to Computer Science” • Basic programming in the Java language, how to use UNIX, and basic principles of computer science such as recursion, algorithm design, and sorting algorithms.

5. The Internship • Prof. Lenny Pitt and Prof. Cinda Heeren • Goal: Developing an interactive and fun way for children in the K-12 level to learn basic concepts of computer science.

6. The Solution • Logic Hunt • A game similar to Tetris, but the goal here is to form true logical expressions. Gives students a new way to learn propositional logic.

7. About Logic Hunt • Programmed in Flash using ActionScript (the programming language for Flash) • ActionScript is very object-oriented, much like C++ and Java.

8. Closer Look At the Code - Recursion • One of the important steps of the program is to be able to find the largest legal expression that each block is a part of and create an array (collection of cells, very useful programming tool) with that expression. • This is done through recursion. (explanation)

9. Recursion (continued) • How the process works: • Find the biggest logical expression to the left of the given block through recursion • Find the biggest logical expression to the right of the given block through recursion • Merge them together into one single logical expression

10. Stacking Blocks • Array to keep track of how far down a block can fall in each column. • Each time a block falls in a particular column, the array entry representing that column will be modified. • Variable to keep track of which column the block is currently on.

11. Classes and Inheritance • Block • ValBlock • TBlock • FBlock • OpBlock • AndBlock • OrBlock • ImpliesBlock • BiImpliesBlock

12. What I Learned through IMPRINT • Basic Principles of Computer Science • How to program in Java • Object-Oriented Programming • Recursion and Algorithms • How to use UNIX • Basics of Flash and ActionScript • Interaction with CS Professors

13. THE END