Upload
kevin-barker
View
215
Download
3
Embed Size (px)
Citation preview
Teaching Programming
Strathclyde’s way
A second year course in ADS in Java
• A 2nd year course• algorithms and data structures• about 200 students• Java• 2 semester (48 lectures)• 2 hours of labs per week• no tutorials• 6 assessed exercises• two hour exam
52233
• A 5* course book• slides provided
• not always a blessing for the lecturer!• Jdsl, the java data structures library• Took some months to make choice of book• Also got Bruce Eckel’s book TIJ
Course Book(s)
• All material available on CD• the web site, book, software, ...• after 1st 1/4 year one• at start of course thereafter • £3 a cd
• Permission from Goodrich and Tamassia• Permission from Eckel• No paper notes
• no paper notes
Distributing Course Material
No paper handouts
• Course work e-submitted and e-marked• students can mark in advance• no real problems• students accepted this.
• Plagiarism detection• 3 levels• but what do you do when detected?
• Functional testing only• trick the marker?
• Model answer presented in the lecture
E-marking
• One lecturer (me) in lab for 1 hour, each lab• two 3d year students assist
• they are excellent• they liked it, enjoy the role• more money than stacking shelves
• mentoring• an Edinburgh DAI idea• it happens naturally
Help in the lab
• Contacts• newsgroup, tremendous!
• But hold back. • Let them answer their questions!
• What’s new!• Email, special folder• phone me, from the lab• please don’t come to my office
Contacts
• Poor attendance• high quality book, notes, slides, demos, etc
• Introduce spot tests• a quick 10 minute question• give user name• get Fiona to capture• use diff to find who is not there
• Repeat randomly• Email those that are absent!
Attendance
Live Dangerously
• Cut code in the lecture theatre• lapTop and beamer• java and emacs
• You will make mistakes• students love this!
• Tell them what you are thinking• a stream of consciousness
• are you teaching them to think?• Introduce errors!
• Show them how you debug• Expose your 1/2 baked thoughts
• “I want something like this …”• Throw away the perfect prepared answer• Talk, talk, talk, talk ...
The web site again
1st Year
An interview with Murray Wood Patrick & Quintin
1st Year
The Mark and Murray Show
• 12 credits in 1st year• 2 credits programming in java• 2 credits Organisation/Hardware• 1 credit Apps and Imps• 5 credits maths• 2 credits something else
• 110 CS students• 170 others
1st Year Programming
• 22 weeks• 2 lectures a week• 2 hours lab a week
• marked off in the lab• functional testing• worth 1 mark (tick)
• 9 practicals in first 12 weeks• 1 test in 2 hour lab
• worth 5 marks• 2 more 1 hour tests in second semester• In total, 15 practicals
• 13 worth 1 mark each = 13• 3 worth 5 marks each = 15• must get 75% to sit exam
1st Year Programming
• 3 supervisors to 50 seat lab• lecturer + TA + 4y student
• Sample solution posted each week• Lab exam
• 3 lots of 6 questions • No solutions given out!• 90 minutes to do, last 30 minutes to mark• students can leave when they want• at end, about 10 students left
• 1 written exam• 2 hours• given a piece of code• questions built around this
• OCW if less than 70% in course work• sizeable piece of work
1st Year Programming
• Exemption scheme• write an application in java• 10% attempt this• 70% gets an excemption
• Very high pass rate in exam
1st Year Programming
• 1 page handout per week
1st Year Programming
• java/oops• lack of emphasis on problem solving• degree is very focussed on java• rationalisation, but some casualties
1st Year Programming
• Course book by Garside and Mariani• Garside and Mariani don’t use it
• Student volunteers helping choose next course book• write one page report• keep the book
• Course is distributed on CD• 50% take CD• pay £3
2nd Year Programming
• 5/6 of 2nd year is CS!• 2 credits on ADS• 2 credits prog project
• problem solving addressed in 2nd year!• C in low level programming course
• no comparative languages course• no ml, prolog, …
Conclusion?
• Different ways to teach CS• specialise on 1 language?• Coding versus problem solving?• Many small or few big exercises• more labs, less tutorials• lab exam
• My way (1998-2000)• performance CS• problem solving as a stream of consciousness