My Experience at Roosevelt High School

This past quar­ter, I vol­un­teered in Mr. Davidson’s AP Com­puter Sci­ence class at Roo­sevelt High School dur­ing the class period twice a week. The school’s first lunch period imme­di­ately fol­lowed the class so I often stayed for that time to inter­act with those stu­dents who chose to spend their lunch period in Mr. Davidson’s room. Among those stu­dents was a guy who I shall refer to as Dave. I first noticed him on my first day in the class­room while Mr. David­son was tak­ing a cen­sus of everyone’s progress on their cur­rent pro­gram­ming project. Dave quickly blurted out that he had already fin­ished it last week, which was then fol­lowed by groans from sev­eral other stu­dents. Soon, it became appar­ent that Dave was con­fi­dent in his abil­i­ties as a pro­gram­mer and wanted oth­ers to know it. He proved to be an inter­est­ing per­son, which moti­vated me to inter­view him.

Dave’s rea­son for being in the APCS class was pretty shal­low. He was there to earn credit for the AP course and tak­ing the class pro­vided a way for him to study for the exam. When asked if there were any other rea­sons, he said he took the course because he had always been inter­ested in com­put­ers. He found them eas­ier to under­stand and more log­i­cal to deal with than peo­ple. For him, this was a very com­fort­ing notion. I pressed a lit­tle fur­ther about why he was inter­ested in com­put­ers. As it turns out, Dave has a nat­ural curios­ity for how things work. When he was younger, he enjoyed tak­ing apart clocks and study­ing how their gears inter-operated. His focus quickly changed when he was intro­duced to com­put­ers. He likes learn­ing about how com­put­ers work and pro­gram­ming pro­vides a good way to under­stand an impor­tant aspect of com­put­ing. Next, we delved deeper into Dave’s pre­vi­ous expe­ri­ences before he entered the course.

With respect to learn­ing Java, Dave’s first expe­ri­ence came from his uncle, who is a Java devel­oper. Because of his curios­ity, Dave often asked his uncle ques­tions about com­put­ers so one sum­mer a few years ago, his uncle decided to teach him Java. Together, they worked their way through the Build­ing Java Pro­grams text book. By the time Dave entered the APCS course, he already had an advan­tage over the other stu­dents. This cer­tainly explained why he often fin­ished his project early. But his prior expe­ri­ence doesn’t stop there.

See­ing as how he already had a good amount of expo­sure to com­puter sci­ence and pro­gram­ming, I asked him if his per­cep­tions were changed in any way as a result of tak­ing APCS. The short answer was no. Com­puter sci­ence remained a very inter­est­ing topic for him. How­ever, the class did change his social per­cep­tions of the com­puter sci­ence field. Before, he hated col­lab­o­rat­ing with other peo­ple on cod­ing projects, but because of APCS, he came to cope with that fact. This is largely due to Mr. Davidson’s efforts. He rec­og­nized that Dave did not work well with oth­ers and often forced Dave to main­tain some min­i­mal level of inter­ac­tion with other stu­dents. Dave also men­tioned that APCS forced him to improve his cod­ing style because now it counted for style points. Next, we talked about Dave’s plans for later on.

In the near future, Dave plans on tak­ing the com­puter sci­ence projects course offered at Roo­sevelt next year. The class is for stu­dents with pro­gram­ming expe­ri­ence, builds on com­puter sci­ence top­ics already cov­ered in APCS, and allows stu­dents to pur­sue their own projects. But beyond that Dave does not see much oppor­tu­nity for him to take more com­puter sci­ence courses are Roo­sevelt because he does not have the room in his sched­ule for more classes. Fur­ther down the line, Dave def­i­nitely plans on major­ing in com­puter sci­ence when he reaches col­lege. Out­side of for­mal classes, he also has some ideas of other things he could do apply and expand his knowledge.

His main goal will be to do more pro­gram­ming projects. Many of these projects will come from the teach­ers at Roo­sevelt. Dur­ing the school year, he already had suc­cess devel­op­ing a raf­fle pro­gram for the prin­ci­pal to use dur­ing spe­cial events. Next up on his list is a “Pi trainer” appli­ca­tion com­mis­sioned by his math teacher. The teacher wants a pro­gram to allow stu­dents to enter as many dig­its of Pi as they can remem­ber and then val­i­date the input. And all these projects will undoubt­edly involve some kind of graph­i­cal user interface.

Among all the top­ics that Dave has learned so far, user inter­faces have been the most inter­est­ing. He likes them because they become a visual and beau­ti­ful rep­re­sen­ta­tion of his work. I have also noticed he enjoys doing the inter­face cod­ing on this own instead of using some visually-oriented tool to help. Part of the rea­son is because he likes to know every detail about what is going on and the other part is that he does not want to learn these other frameworks.

Finally, I asked him about any advice he might have for some­one who wants to teach youths com­puter sci­ence or pro­gram­ming. He told me that his uncle always knew what not to say. In other words, avoid jump­ing into detailed expla­na­tions right away. One should keep the level of dis­cus­sion as sim­ple as pos­si­ble so as to avoid mak­ing peo­ple con­fused. He also men­tioned that start­ing out by using Eclipse was use­ful. Eclipse allowed him to quickly view the Java doc­u­men­ta­tion, which helped him learn the lan­guage bet­ter because he could eas­ily explore the options avail­able to him.

This inter­view was a great oppor­tu­nity to under­stand Dave a lit­tle bet­ter. My prior expe­ri­ences showed me that he was an intel­li­gent per­son, but a lit­tle too will­ing to show off his tal­ents. I some­times observed him inter­ject him­self into con­ver­sa­tions Mr. David­son was hav­ing with other stu­dents about a design issue to sug­gest some­thing Dave thought would be bet­ter. Mr. David­son char­ac­ter­ized Dave as some­one who liked to think about all the pos­si­bil­i­ties when he designed his projects. Indeed, he some­times asked me about eso­teric fea­tures that he could include in his projects. For instance, he con­sid­ered adding an inter­face for binary and hexa­dec­i­mal num­bers into his raf­fle pro­gram. When time starts becom­ing an issue, he’ll prob­a­bly need to learn how to focus his efforts. But in the mean­time, I think that’s indica­tive of his healthy curios­ity. He’s will­ing to go that extra mile to imple­ment some­thing just because he can instead of set­tling for the minimum.

Over­all, it was a plea­sure to work with Dave. My sug­ges­tions for work­ing with a stu­dent like him are to be patient because of his ten­den­cies to show off and be pre­pared to answer many ques­tions. Work­ing in the class­room, it was also great to see everyone’s pas­sion for cod­ing. For their final projects, many of them are attempt­ing to cre­ate pro­grams that are quite ambi­tious – things that I wouldn’t try myself if I were at their level. See­ing that, it has rekin­dled my own spark for cod­ing, which had been dulled by the del­uge of school cod­ing projects in the past cou­ple of years. Vol­un­teer­ing was def­i­nitely a worth­while experience.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>