Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)

Similar presentations


Presentation on theme: "Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)"— Presentation transcript:

1 Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)

2 Our Challenge To construct a coherent education for a future software developer To construct a coherent education for a future software developer  distinct from education for sysadmin, systems analyst, etc Stay within the scope of a major in a generalist degree Stay within the scope of a major in a generalist degree  approx 1.5 yrs total relevant content  cf Software Engineering degree

3 Generalist degrees University of Sydney has a tradition of broad degrees with lots of choice University of Sydney has a tradition of broad degrees with lots of choice  was BSc, BA, BCom; now also BCST Student must pick one relevant major Student must pick one relevant major  about half the degree (1.5 yrs)  also choose 0.5 yrs from the general area  approx 1 yr is completely free

4 Multiple IT majors IT Professions are quite diverse IT Professions are quite diverse  they need diverse preparation  content and approach differ As a field, “IT” is as widespread/important as “Science” As a field, “IT” is as widespread/important as “Science”  there is no “Science” major; instead we have Physics, Chemistry, Biology etc  cf “Computer Science” major from ACM CC2001 which gives common core of topics (with bias to theory)

5 Software Development We focus on knowledge and skills needed to develop sophisticated OO software We focus on knowledge and skills needed to develop sophisticated OO software  work in small groups (< dozen people)  varied, unpredictable, changing projects  for a small company or splinter group  job titles: “Java Developer”, “Ecommerce Application Developer”, etc cf traditional DP applications cf traditional DP applications cf safety-critical systems, with high assurance, high cost approaches cf safety-critical systems, with high assurance, high cost approaches

6 Context A research-intensive university A research-intensive university  ~30 academic staff Large student numbers Large student numbers  1200 EFTS  900 in first year programming  150-200 each year choose to major in IT, in many different generalist degrees  plus 150 software/computer engineers

7 First Year: core software subjects 2 semesters of Programming 2 semesters of Programming  agile process with “design by contract”  Problem Based Learning pedagogy  3 projects on simulation, information storage/retrieval, language processing  technical content (using Java)  objects-early, collections, inheritance, exceptions, recursion  scalability, file I/O, ethics/access control, Composite pattern, grammars/parsing

8 First Year: support subjects 2 semesters of Mathematics 2 semesters of Mathematics  linear algebra and calculus  discrete mathematics and statistics this amount of maths (though not specific topics) are enforced by degree rules in BSc, BIT, BCST this amount of maths (though not specific topics) are enforced by degree rules in BSc, BIT, BCST

9 Second Year 6 subjects each 1/6 th of a full semster! 6 subjects each 1/6 th of a full semster! 2 core software subjects 2 core software subjects  Software Development Methods  Concurrent Programming 2 subjects shared with information systems 2 subjects shared with information systems 2 recommended support subjects 2 recommended support subjects

10 Second Year: software subjects Software Development Methods Software Development Methods  memory handling issues in C  testing regimes  use of scripts to combine existing tools Concurrent programming Concurrent programming  multithreaded programs in Java  esp in GUIs  synchronisation issues

11 Second Year: shared subjects Systems Analysis & Design Systems Analysis & Design  requirements elicitation  process models  ought to be more OO in approach (UML)! Database Management Database Management  relational model and SQL  data modeling and normalisation  ought to have more coding (JDBC)!

12 Second Year: support subjects Computer System Organisation Computer System Organisation  from Networks major Data Structures & Algorithms Data Structures & Algorithms  from Principles of CS major these are recommended but not enforced for Software Development majors these are recommended but not enforced for Software Development majors

13 Third Year 6 subjects each 1/6 th of a full semester! 6 subjects each 1/6 th of a full semester! 3 core software process subjects 3 core software process subjects  design, coding, testing 1 of 4 domain-specific subjects 1 of 4 domain-specific subjects  UI, distributed objects, client-server database applications, network programming a double weight group project a double weight group project

14 Third Year: process subjects Design Design  patterns, architectures, sophisticated UML features Coding Coding  complexities of C++ (templates, namespaces, etc), version control, personal process Testing and V&V Testing and V&V  coverage methods, automated testing tools

15 Third Year: domain subjects User Interfaces User Interfaces  both design and programming Distributed Object Systems Distributed Object Systems  components and middleware Network Programming Network Programming  socket-level, from Networks major Database Applications Database Applications  client-server, from Information Systems major

16 Third Year: project counts as two subjects counts as two subjects students form own groups (4-5 students per group) students form own groups (4-5 students per group) students choose from a list of possible topics students choose from a list of possible topics  supervised by academic staff or externally assessment covers process, product, and reflection assessment covers process, product, and reflection

17 Status first year in Java in 2001 first year in Java in 2001  similar approach, content taught in Blue for several years second year will be taught in 2002 second year will be taught in 2002 third year subjects taught from 2003 third year subjects taught from 2003  some (eg UI) already taught in existing curriculum first graduates at end of 2003! first graduates at end of 2003!

18 Conclusion we have chosen topics that seem most beneficial to producing students who will be good software developers for sophisticated applications in fluid situations we have chosen topics that seem most beneficial to producing students who will be good software developers for sophisticated applications in fluid situations we have kept total content to only 1.5 years we have kept total content to only 1.5 years  we can’t cover all SWEBOK  but students have room for other topics that interest them


Download ppt "Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)"

Similar presentations


Ads by Google