Honors Thesis: A textbook for Introductory Computer Science
11 Oct 2011
Here are some references I found, which I think will mainly be useful for the references they cite:
Pedagogy of Introductory Computer Programming: A People-First Approach
by Donna Teague
Master's Thesis, Queensland University of Technology, 2011. 150 pages
Chapter 2 is a "Literature Review." The bibliography is nine pages long. The thesis is quite recent, so it should be up-to-date. Her emphasis is pair programming, which is not so relevant, but I am hoping the extensive bibliography will help.
Teaching Programming in Secondary School: A Pedagogical Content Knowledge Perspective
Mara SAELI , Jacob PERRENET , Wim M.G. JOCHEMS , Bert ZWANEVELD
Informatics in Education, 2011, Vol. 10, No. 1, 73–88.
Abstract: The goal of this literature study is to give some preliminary answers to the questions that aim to uncover the Pedagogical Content Knowledge (PCK) of Informatics Education, with focus on Programming. [...]
Again quite recent, and specifically a literature study. Again, not focused on precisely your topic, but still might help.
The section on p.81 entitled "How should the Topic be Taught?" might be the most useful...?
This paper was cited by Teague, and its title caught my eye:
Robins, A., J. Rountree, et al. (2003). "Learning and Teaching Programming: A Review and Discussion."
Journal of Computer Science Education 13(2): 137-172.
It is again a literature review, from 2003, but perhaps more useful that Saeli et al above. It has a section (Section 3) on "Novice Programmers" (p.147).
(Added 2Nov11): File:RobinsRev.pdf I've highlighted some material in the Novices section.
11 October 2011
Questions for professors:
1) When did you teach CSC 111?
2) Which textbook was used?
3) How much would you say you relied on the textbook? Did you use the textbook’s exercises?
4) Your general thoughts on the textbook?
5) Things the textbook accomplished well?
6) Things it accomplished less well?
7) Your thoughts on the students? How easily did they pick up the material?
8) Science/technology/CS majors vs. humanities majors?
12 October 2011
Notes from Joe's interview:
3) Adjusted the order to do graphics immediately - developed own assignments - advised students to use online man pages
4) (see 5/6)
5) Graphics chapter is good
6) Difficulty using - didn't agree with the ordering - later chapters were all focused one one long example, multipage examples are not useful
7) disappointed with OOP understanding - should spend more time mentally simulating a program, asking "what will this code do?"
8) No difference
14 October 2011
Notes from Dominique's interview:
2) Zelle, Guzdial
3) 10% - creates own assignments
4) (see 5/6)
5) least worst - within student price range
6) should introduce functions sooner - too much math
5) exciting graphics for students
6) 1-indexing for images - images before sound (2d before 1d)
7) Interest has dropped over the years - try to present a variety of topics to capture students' interest One fifth of the students are talented/excited, one fifth are struggling - the challenge is reaching the middle group
8) Students of different academic backgrounds have different approaches - engineers tend to work together more - engineers and art students respond well to visual teaching style/diagrams, but English types do not
17 October 2011
Notes from Judy F's interview:
1) every other year
2) Zelle, Guzdial supplementally
3) does rely on textbook and uses some of the provided exercises
4) (see 5/6)
5) good graphics, easy to read, introduces objects through graphics, good exercises at the beginning
6) could be better ordered
5) sound processing, treatment of images/RGB color, multimedia info
6) "babies" the audience
7) Students get confused w/ loops and conditionals by trying to treat them like English speech - broad range of ability
8) Math + computer science majors get it, everyone else is a mixed bag
18 October 2011
I met with Rocco Piccinino at Young Science Library to discuss research; he showed me how to use the databases that will be most helpful, both from the computer science angle and the education/pedagogy angle.
I also made a survey to send to previous and current CSC 111 students. It's pretty basic and the questions are aimed at figuring out the relationship between how much students struggle and how they use the textbook, while also providing all students with a forum to give input on the text and the class. I want to get this sent to people who have taken the class in the past but I'm not sure how to make that happen.
19 October 2011
Notes from meeting with Eitan:
3) assigns readings, covers same material in class - develops own assignments
4) Zelle is okay but would not use Python if given an option - used Zelle because it was being used already
5) tries to create real-world examples to explain basic concepts - good graphics library
6) order is bad - functions + recursion should be before loops
7) students struggle with with loops - should teach recursion first so they understand variable scope. also struggle with debugging and programming design- how to teach those things? they get graphics and conditionals
8) engineers take it in the spring, big class, more collaboration
25 October 2011
Emailed former 111 students to get them to fill out the survey.
9 November 2011Preliminary notes on the surveys (I haven't done hard statistics on them yet because I'm not sure what the best way to extract them from SurveyMonkey is):
- There appears to be a trend relating major to performance in the class; there are many fewer A grades among humanities/social science majors than STEM majors. I need to plot this carefully to be sure, however.
- 25% students report doing all or more of the readings, almost 70% did “most” or “some”, and the rest did none
- Only 12% of students thought the textbook was “very helpful”, the most popular category (47%) was “somewhat/sometimes helpful”
- Many, many students complained that the professor didn’t follow the textbook. They reported using the textbook mostly as a resource while coding. The students who reported not using the textbook often reported using online or other resources instead.
- Few students report struggling a lot with CSC 111, the response was split pretty evenly between “I picked it up quickly and easily”, “I didn't have too much trouble”, and “I sometimes had trouble with it”.
- 25% use the TA hours whenever possible, 25% not at all.
- Over 75% of students were “somewhat” or “very” satisfied with 111. A few were neutral and 10% were “somewhat” or “very” dissatisfied.
- There was a HUGE range of responses in the last open-ended question, “Tell us more about how hard or easy the class was. What made it hard or easy?” Some students said it was extremely easy and intuitive, some said it was very challenging and inappropriate for an intro class. There does not appear to be a correlation between finding the class challenging and grade, but the students who said the class was TOO hard, or that the professor was confusing, generally didn’t do as well.
Crude attempt at a high-level outline of your thesis:
- Intro and Summary
- Faculty and Student Opinions
- Summary of Faculty Views
- Student Survey Findings
- Literature Review
- Draw from Robins' "Novice Programmers" section that we discussed.
- Outline of Textbook
- (Without much detail, but:)
- Preceded by a justification of the presentation order based upon analysis in earlier chapters
- Chapter: Conditional Statements
- What precedes this (ints, vars, strings, arithmetic [not floats], input)
- Then into actual text
- Chapter: ???
- Chapter: ???