1 / 18

Teaching Software Development: an Empirical Study on a Graduate Program

Teaching Software Development: an Empirical Study on a Graduate Program. Marie-Helene Ng Cheong Vee & Constantinos Constantinides School of Computer Science and Information Systems Birkbeck, University of London. Agenda. The Birkbeck Experience MSC in Computer Science

aran
Download Presentation

Teaching Software Development: an Empirical Study on a Graduate Program

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teaching Software Development: an Empirical Study on a Graduate Program Marie-Helene Ng Cheong Vee & Constantinos Constantinides School of Computer Science and Information Systems Birkbeck, University of London

  2. Agenda • The Birkbeck Experience • MSC in Computer Science • Introduction in C++ • Object-oriented programming • Software engineering • Survey - Set Up • Questionnaire • Survey – Outcome • General recommendations 5th Annual LTSN-ICS Conference

  3. The Birkbeck Experience • Conversion graduate programs • Common in the UK • Aim: Allow transfer of knowledge from one domain to another • Primarily part-time and day-release students • Different needs from full-time students • Computer Science unusual – 50/50 split with full-time 5th Annual LTSN-ICS Conference

  4. MSc in Computer Science • F/T = 1 yr & P/T= 2 years • Presumes (very) limited prior knowledge of programming • Starts with an intensive C++ course & SSADM procedural objects • Then Java(OOP) & UP(SoftEng) Objects first using BlueJ approach and tool Some students used/migrated to Eclipse, Netbeans 5th Annual LTSN-ICS Conference

  5. Introduction in C++ • Introduction to programming • Term 1: procedural programming • Term 2: classes and objects • 5 assignments: 5 level of difficulty • 1, 2 & 3: Procedural • 4: OO • 5: Procedural or OO (free choice) 5th Annual LTSN-ICS Conference

  6. Object-Oriented Programming • 2 terms: Java (basic and advanced) , C#, Comparison of Java & C#, Design Patterns • F/T: short 1-term break • P/T: long summer break • 4 assignments: • P/T: Individual work • F/T: 2 Individual + 1 Pair + 1 Group • 4th Assignment (F/T) • XP Practice • Usage of concepts learnt from other classes e.g UML and UP (SoftEng) 5th Annual LTSN-ICS Conference

  7. Software Engineering • F/T: parallel with OOP (spring term) • P/T: OOP followed by SoftEng • Covers state of the art in OO Software Development • OOA/D & Modeling with the UML • Context: Iterative and Agile process -> UP • Real-world case-study (Inception and Elaboration phases of UP for POS system) • Non-assessed group work • Design OO system & produce UML artifacts • Literature survey on adoption of OOA/D, UML and UP 5th Annual LTSN-ICS Conference

  8. Survey • Aim: student’s view point on SD pathway in the course • Follow-up: critically examine teaching methodology to improve the course • Distribution: last week of 2003 spring term • Participation 5th Annual LTSN-ICS Conference

  9. Questionnaire • Possibility of remaining anonymous • 2 Parts • Student’s background • Background disciplines (e.g. Law, Social Sciences…) • Survey’s aim: Questions • Multiple Choice • Open-ended 5th Annual LTSN-ICS Conference

  10. Previous programming experience Previous experience in OOP Full-time 21 (63.6%) 10 (30.3%) Part-time 26 (60.5%) 6 (14%) Survey Results 1 5th Annual LTSN-ICS Conference

  11. From algorithmic thinking to code • Depth of coverage of programming concepts: From algorithmic thinking to code • Q7: Can be verified by OOP assignment 4 results(F/T) • Experience: focus on syntax v/s concepts • Teaching methodology + examinations • Textbooks • Recommendation: • Change teaching methodology: problem-based approach 5th Annual LTSN-ICS Conference

  12. Choice of paradigm & ordering of classes • Q5: Time period = problematic given the requirements of the program and its time constraints • School’s view: procedural thinking necessary before learning OOP • We argue this is not necessarily so • Students need to see the bigger picture to take advantage of OO concepts [Borstler&Johansson &Nordstrom, 2002] • Bottom-Up approach not applicable -> Programming in the large or Inverse Curriculum [Knudsen&Madsen, 1996] • Introduce the concepts of the chosen paradigm early and often (P/T would like greater depth of coverage of OOP) [Meyer, 1993] • OOP does not discard procedural thinking 5th Annual LTSN-ICS Conference

  13. Choosing a first programming language • Why C++? • Intro. to C++ 1st half can be blended in OOP • Student’s prefer Java for OOP(it helped them more in grasping OO concepts (Java is more readable & pure) • Java/Modern language from the start: • Enables greater depth of coverage of OOP • Improves student’s abstract thinking • Creates awareness of older languages shortcomings • Prepares student for the future as language constructs spreads in industry. 5th Annual LTSN-ICS Conference

  14. Using case-studies in teaching • Case study followed UP • Q11: Why this no. of disagreement: • May be: Time constraints did not allow practical work 5th Annual LTSN-ICS Conference

  15. Developing other skills • Unusual facts: • Of those who did not like group work, some had worked in industry as programmers. • state of mind/attitutude workplace v/s education? • Although Q8 NA to P/T, 24 answered favorably & 10 did not respond • Suggestion: Deployment of more advanced development tools (e.g. VisualAge, WebSphere) • Beginners v/s more experienced students 5th Annual LTSN-ICS Conference

  16. Project work and future plans • Difference between P/T and F/T: • Most P/T are industry employees (many already in the IT sector): expectations might be higher BUT may not be prepared to make a strong commitment to the program -> therefore, expect more teaching than experimenting 5th Annual LTSN-ICS Conference

  17. General Recommendations • For all CS conversion programs that face similar issues. • Aim: Teach maximum & high quality CS course within time constraints • Replace “Intro. in C++” by “OOP” • More concepts can be covered • No paradigm shift • Use Java and C# to explain OO concepts • Follow “Software Engineering” by “OOP” • Will allow group project work – complex OO applications 5th Annual LTSN-ICS Conference

  18. Email:marie-helene@dcs.bbk.ac.uk Website: http://www.dcs.bbk.ac.uk/~gngch01 SE group:http://www.dcs.bbk.ac.uk/research/softeng/

More Related