teaching programming strathclyde’s way

22
Teaching Programming Strathclyde’s way

Upload: akira

Post on 01-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

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). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Teaching Programming Strathclyde’s way

Teaching Programming

Strathclyde’s way

Page 2: 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

Page 3: Teaching Programming Strathclyde’s way

• 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)

Page 4: Teaching Programming Strathclyde’s way

• 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

Page 5: Teaching Programming Strathclyde’s way

No paper handouts

Page 6: Teaching Programming Strathclyde’s way

• 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

Page 7: Teaching Programming Strathclyde’s way

• 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

Page 8: Teaching Programming Strathclyde’s way

• 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

Page 9: Teaching Programming Strathclyde’s way

• 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

Page 10: Teaching Programming Strathclyde’s way

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 ...

Page 11: Teaching Programming Strathclyde’s way

The web site again

Page 12: Teaching Programming Strathclyde’s way

1st Year

An interview with Murray Wood Patrick & Quintin

Page 13: Teaching Programming Strathclyde’s way

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

Page 14: Teaching Programming Strathclyde’s way

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

Page 15: Teaching Programming Strathclyde’s way

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

Page 16: Teaching Programming Strathclyde’s way

1st Year Programming

• Exemption scheme• write an application in java• 10% attempt this• 70% gets an excemption

• Very high pass rate in exam

Page 17: Teaching Programming Strathclyde’s way

1st Year Programming

• 1 page handout per week

Page 18: Teaching Programming Strathclyde’s way

1st Year Programming

• java/oops• lack of emphasis on problem solving• degree is very focussed on java• rationalisation, but some casualties

Page 19: Teaching Programming Strathclyde’s way

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

Page 20: Teaching Programming Strathclyde’s way

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, …

Page 21: Teaching Programming Strathclyde’s way

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

Page 22: Teaching Programming Strathclyde’s way