Archive for August, 2012

For our very first session of Fall 2012 we are fortunate to have a new speaker to MMC, Dr. Jeyakesavan Veerasamy.  Here is a description of Dr. Veerasamy’s talk in his own words:

How did we learn to ride a bicycle? We had to learn 2 things together: Balancing & pedaling to go forward. That is why we used training wheels to take care of balancing while learning to pedal. Learning to program has similar characteristics. When students are introduced to C/C++/Java language directly, they are expected to learn & apply the syntax and logic together. After struggling with syntax for hours, good % of students want to run away & never come back to programming!

MIT, CMU and a few other universities have recognized this issue and devised visual programming environments to help the freshers. Idea is to use intuitive drag-and-drop programming and avoid the syntax errors all-together – programs are always runnable! So, the students can test the logic quickly and enjoy the learning experience! Strong logic skills enable the students to press forward with confidence to face more serious programming languages and not be intimidated by the syntax errors. After reviewing the basics of programming, I will do a quick demo of a few Alice examples.

There are several similar but advanced learning tools as well. They use free-form typing & real-world programming languages (which mean syntax errors are in!) but utilize visual graphical interface extensively. Java based Greenfoot and JavaScript based Khan Academy‘s resources are two good examples. Such tools enable the students to delve into advanced programming and develop complex games/applications using graphical interface, but avoiding graphical interface related details. I will demo a few examples in these environments as well.

Good % of CS folks believe that functional languages are closer to mathematics, so the school students may find functional programming bit easier to assimilate and play with. One such tool is DrRacket (old name was DrScheme). http://racket-lang.org/ & http://www.wescheme.org/  are relevant websites. I will demo a few examples in this environment as well.

Even though I will cover only a limited # of tools/environments in my talk, there are several more tools of tools out there. Quick web search on “learn to program for kids” comes up with a lot of interesting items including news articles and blogs. For the final segment of my talk, I will take a step back and discuss popular ways to keep learning to program as enjoyable and efficient as possible. Too many students spend too many hours working on mundane things or on fixing quirky issues. I will discuss a few well-tested approaches you can use to expand your programming skills and enjoy the process too!

Dr. Jeyakesavan Veerasamy
Director of CS UTDesign Program & Teaching Faculty
Department of Computer Science, Erik Jonsson School,
The University of Texas at Dallas.

Dr. Jeyakesavan Veerasamy works as Director of Senior Design program and also as Senior Lecturer in Computer Science at the University of Texas at Dallas, USA. He has worked in wireless telecom industry for 16 years (3 years in Nortel & 13 years in Samsung) and joined UT Dallas in Fall 2010 to focus more on teaching which is his passion. He worked on software development & optimization of infrastructure equipment nodes for wireless network for voice and 3G data. Along with full-time job, he taught lots of online courses related to programming and software engineering for several US universities for 11 years. He is UT Dallas Alumni as well – he came to UT Dallas for MS in computer science in 1991 and completed Ph.D. (part time) in 1999. He has 12 publications in conferences/journals and 5 patents in wireless telecom area.

He teaches programming courses in C, C++ and Java to undergraduate students. He started offering free programming courses for area high school students recently as well! He believes in interactive classrooms and also in appropriate use of technology to augment the classroom experience. As the Director of Senior Design projects, Dr. Jey is responsible for working with local industry to bring industry projects to final year undergraduate CS students so that they can gain some industry experience before they graduate.

Read Full Post »

%d bloggers like this: