teaching software development an empirical study on a graduate program n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Teaching Software Development: an Empirical Study on a Graduate Program PowerPoint Presentation
Download Presentation
Teaching Software Development: an Empirical Study on a Graduate Program

Loading in 2 Seconds...

play fullscreen
1 / 18

Teaching Software Development: an Empirical Study on a Graduate Program - PowerPoint PPT Presentation


  • 142 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Teaching Software Development: an Empirical Study on a Graduate Program' - aran


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
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

the birkbeck experience
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

msc in computer science
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

introduction in c
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

object oriented programming
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

software engineering
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

survey
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

questionnaire
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

survey results 1

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

from algorithmic thinking to code
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

choice of paradigm ordering of classes
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

choosing a first programming language
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

using case studies in teaching
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

developing other skills
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

project work and future plans
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

general recommendations
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

slide18

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/