Top Banner
Teaching Programming Strathclyde’s way
22

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.

Jan 11, 2016

Download

Documents

Kevin Barker
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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.

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.

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 second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

• 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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

• 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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

No paper handouts

Page 6: 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.

• 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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

• 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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

• 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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

• 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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

The web site again

Page 12: 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.

1st Year

An interview with Murray Wood Patrick & Quintin

Page 13: 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.

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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

1st Year Programming

• 1 page handout per week

Page 18: 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.

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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.

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. A second year course in ADS in Java A 2nd year course algorithms and data structures about 200 students Java 2.