220 likes | 337 Vues
Strathclyde's second-year course in Algorithms and Data Structures (ADS) focuses on Java programming for approximately 200 students. Over 48 lectures and weekly labs, students explore advanced concepts through collaborative learning and practical exercises. Course materials are distributed digitally without paper handouts, incorporating e-marking for submitted work. Engaging tactics like live coding during lectures and interactive lab assistance enhance student understanding. Emphasis is placed on problem-solving skills, with a high pass rate, showcasing effective teaching strategies.
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