220 likes | 331 Views
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. Course Book(s).
E N D
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
Course Book(s) • 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
Distributing Course Material • 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
E-marking • 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
Help in the lab • 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
Contacts • 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
Attendance • 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!
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 ...
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