1 / 27

An “enjoyable” introduction to Programming

An “enjoyable” introduction to Programming. Dr. Jeyakesavan Veerasamy University of Texas at Dallas, USA jeyv@utdallas.edu. What is programming?. Developing applications & games Software is not limited to PC most complex systems run software smart phones, game devices, even DVD players.

ishana
Download Presentation

An “enjoyable” introduction to Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An “enjoyable” introduction to Programming Dr. Jeyakesavan Veerasamy University of Texas at Dallas, USA jeyv@utdallas.edu

  2. What is programming? • Developing applications & games • Software is not limited to PC • most complex systems run software • smart phones, game devices, even DVD players

  3. Programming … • is NOT a boring or repetitive activity • does NOT require you to sit in dark room and type in computer all day! • does NOT involve complex Math • requires logical thinking – technical common sense • write minimal code & combine with existing components to build new applications • Solve customers’ problems & improves quality of life for every one.

  4. Why learn programming? • Software Engineers get great pay! • Less stressful compared to several other high paying jobs • Automation continues… • Computer touches our lives more & more every day… • More component based programming  always room for simple programs to do large tasks!

  5. Learning to ride bicycle • Difficulties for beginners: • Difficulties for experienced folks:

  6. Learning to ride bicycle • Difficulties for beginners: • Learning to balance & go forward together • Difficulties for experienced folks: • None.

  7. Solution • Training wheels • Helmet • Makes learning enjoyable and safe! • Similar difficulties are there while learning to program in a computer.

  8. Learning to program • We have similar challenges. • Most students try to learn syntax and logic together, waste lot of hours and get confused & frustrated. • Indian students resort to memorization of programs. US students run away from programming. Both are NOT good  • It is possible to do much better!

  9. Solution • Visual Programming Tools to teach programming concepts without encountering syntax errors • Focus on the logic first & build confidence.

  10. Free Visual Programming Tools

  11. Sample program in Snap 4.0

  12. Program Output

  13. Programming Concepts

  14. A few examples • Recipe to make your favorite food • Assembly instructions for a toy • Coming to school from home What is common about these activities?

  15. Programming concepts:Sequence structure instruction 1; instruction 2; instruction 3; …

  16. A few more examples • Bike to school or walk? • Become a doctor or programmer? • Do homework or play? • Eat Poori or Chapathi? What is the common thing here?

  17. Selection structure IF condition is true THEN do this; ELSE do that; ENDIF

  18. A few more examples • Go on a shopping spree with lot of cash! • Take an exam that has several questions • Eat chips from a packet What is the common thing here?

  19. Repetition structure WHILE (more items to process) process the next item; ENDWHILE FOR month = 1 to 12 do monthly processing ENDFOR

  20. Programming Concepts • Control Structures: Sequence, Selection & Repetition • These are 3 pillars of Programming. • Every complex program is only a combination of these structures.

  21. Purpose of Alice • Enjoyable introduction to Programming • Learning to program with training wheels • Stepping stone to learn more serious languages (C/C++/Java) • Natural introduction to Object Oriented Programming

  22. Hands-on Introduction to Alice It is a good idea to save each program separately so that you can go back and review later.

  23. Alice environment • World • Gallery • Creating the initial scene • Adding objects • Working with objects

  24. Alice Examples • Sequence • Selection • Repetition/loop • Parallel actions

  25. Alice Examples … • Modules • Arrays • Event based programming • Games

  26. References • Alice website: www.alice.org • Textbook: Learning to Program with Alice by Wanda Dann, Steve Cooper and Randy PauschISBN: 0-1318-7289-3 • Ebook: http://www.dickbaldwin.com/tocalice.htm • My presentation & examples: www.utdallas.edu/~jeyv/alice

  27. Questions & Answers Dr. V. Jeyakesavanjeyv@utdallas.edu

More Related