2020-02-22 00:00:00 +0000
The New Jersey Computer Science Student Alliance is fortunate to partner with the Newark Public Library to host our 10 week Intro to Programming course this spring. The NPL is located in the heart of Newark at 5 Washington Street, which makes it a convenient destination for many of the students who go to high school nearby.
I would like to thank Thyson Halley and the development department at the Newark Public Library in particular for working with the NJCSSA to make the spring program happen!
The majority of students are from Science Park and Technology, two of Newark’s magnet high schools. We have 8 freshmen through seniors taking this class. Most of them have no prior programming experience, which makes for a true introductory class no matter their class year. And they are all academically talented students!
We have many returning instructors who volunteered with the NJCSSA last year. There are also a couple of new instructors from different schools in the area.
Almost all the instructors are taking or have already completed AP Computer Science A. Like the students, they come from a range of grade levels. A majority also have some experience in Python.
Because of previous commitments, many volunteers come on Saturdays. I lead the weekday classes, sometimes with another instructor. The students pay attention and are eager to learn, which makes teaching a group of 7-8 students possible.
The course runs four days per week with 90 minute classes on Mondays, Tuesdays, Thursdays, and Saturdays. With four classes each week, rather than a compressed schedule we’ve had in the past, the students will be more stimulated by the material and will retain what they have learned.
The students are using laptops the NJCSSA either owns or is currently borrowing from the Electronic Access Foundation and Laptop Upcycle. Using our own laptops allows me to install custom software and debug the laptops without having to get approval from the tech office at the library.
The notes of the class are hosted on github and are a modified version of what I taught last summer. I have moved away from text-based programming problems and transitioned to using a custom-made graphical programming framework called “wombatgame”. I made this decision after observing that students were more excited, and seemed to hold on to programming fundamentals better, when they could see their code doing something on the screen. Additionally, the graphical aspect makes it much clearer to students what problem I want solved. I will put a gif on the projector showing the solution, and they have to code it. The gif holds as much information as a thousand word description.
I usually prepare my notes the day of or the day before class. I learned from last year that I planned the course to go too quickly. Instead of a rigid plan for the class, I have a list of milestones.
link to wombat game source code and documentation: https://github.com/njcssa/summer2019_wombatgame
So far, we have gotten to milestone 5. I introduced the students to the most basic while loop this week, and we will be applying it to coding problems on repl.it and wombat functions in the coming weeks.
The milestones allow me to be flexible with the class while holding on to concrete goals. We spend as much time as the students needed to grasp a milestone and then move on. My experience with teaching programming using this graphical framework allows me to tailor the lessons to the specific daily/weekly needs of the students.
Stay tuned for my next update after week 5 or around the halfway point in the course.
Ben Campbell
NJCSSA Founder and Director
[email protected]