design of a software development major alan fekete bob kummerfeld (university of sydney)
TRANSCRIPT
![Page 1: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/1.jpg)
Design of a Software Development Major
Alan FeketeAlan Fekete
Bob KummerfeldBob Kummerfeld
(University of Sydney)(University of Sydney)
![Page 2: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/2.jpg)
Our Challenge
To construct a coherent education for a To construct a coherent education for a future software developerfuture software developer distinct from education for sysadmin, distinct from education for sysadmin,
systems analyst, etcsystems analyst, etc Stay within the scope of a major in a Stay within the scope of a major in a
generalist degree generalist degree approx 1.5 yrs total relevant contentapprox 1.5 yrs total relevant content cf Software Engineering degreecf Software Engineering degree
![Page 3: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/3.jpg)
Generalist degrees
University of Sydney has a tradition of University of Sydney has a tradition of broad degrees with lots of choicebroad degrees with lots of choice was BSc, BA, BCom; now also BCST 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)about half the degree (1.5 yrs) also choose 0.5 yrs from the general areaalso choose 0.5 yrs from the general area approx 1 yr is completely freeapprox 1 yr is completely free
![Page 4: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/4.jpg)
Multiple IT majors
IT Professions are quite diverseIT Professions are quite diverse they need diverse preparationthey need diverse preparation content and approach differcontent and approach differ
As a field, “IT” is as widespread/important as As a field, “IT” is as widespread/important as “Science” “Science” there is no “Science” major; instead we have there is no “Science” major; instead we have
Physics, Chemistry, Biology etcPhysics, Chemistry, Biology etc cf “Computer Science” major from ACM cf “Computer Science” major from ACM
CC2001 which gives common core of topics CC2001 which gives common core of topics (with bias to theory)(with bias to theory)
![Page 5: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/5.jpg)
Software Development We focus on knowledge and skills needed to develop We focus on knowledge and skills needed to develop
sophisticated OO software sophisticated OO software work in small groups (< dozen people)work in small groups (< dozen people) varied, unpredictable, changing projectsvaried, unpredictable, changing projects for a small company or splinter groupfor a small company or splinter group job titles: “Java Developer”, “Ecommerce job titles: “Java Developer”, “Ecommerce
Application Developer”, etcApplication Developer”, etc cf traditional DP applications cf traditional DP applications cf safety-critical systems, with high assurance, high cf safety-critical systems, with high assurance, high
cost approachescost approaches
![Page 6: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/6.jpg)
Context
A research-intensive universityA research-intensive university ~30 academic staff~30 academic staff
Large student numbersLarge student numbers 1200 EFTS1200 EFTS 900 in first year programming900 in first year programming 150-200 each year choose to major in IT, in 150-200 each year choose to major in IT, in
many different generalist degreesmany different generalist degreesplus 150 software/computer engineersplus 150 software/computer engineers
![Page 7: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/7.jpg)
First Year: core software subjects 2 semesters of Programming2 semesters of Programming
agile process with “design by contract”agile process with “design by contract” Problem Based Learning pedagogyProblem Based Learning pedagogy
3 projects on simulation, information 3 projects on simulation, information storage/retrieval, language processingstorage/retrieval, language processing
technical content (using Java) technical content (using Java) objects-early, collections, inheritance, objects-early, collections, inheritance,
exceptions, recursionexceptions, recursionscalability, file I/O, ethics/access control, scalability, file I/O, ethics/access control,
Composite pattern, grammars/parsingComposite pattern, grammars/parsing
![Page 8: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/8.jpg)
First Year: support subjects 2 semesters of Mathematics2 semesters of Mathematics
linear algebra and calculuslinear algebra and calculus discrete mathematics and statisticsdiscrete mathematics and statistics
this amount of maths (though not specific this amount of maths (though not specific topics) are enforced by degree rules in BSc, topics) are enforced by degree rules in BSc, BIT, BCST BIT, BCST
![Page 9: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/9.jpg)
Second Year
6 subjects each 1/66 subjects each 1/6thth of a full semster! of a full semster! 2 core software subjects2 core software subjects
Software Development MethodsSoftware Development Methods Concurrent ProgrammingConcurrent Programming
2 subjects shared with information systems2 subjects shared with information systems 2 recommended support subjects2 recommended support subjects
![Page 10: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/10.jpg)
Second Year: software subjects Software Development MethodsSoftware Development Methods
memory handling issues in Cmemory handling issues in C testing regimestesting regimes use of scripts to combine existing toolsuse of scripts to combine existing tools
Concurrent programmingConcurrent programming multithreaded programs in Javamultithreaded programs in Java
esp in GUIsesp in GUIs synchronisation issuessynchronisation issues
![Page 11: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/11.jpg)
Second Year: shared subjects Systems Analysis & DesignSystems Analysis & Design
requirements elicitationrequirements elicitation process modelsprocess models ought to be more OO in approach (UML)!ought to be more OO in approach (UML)!
Database ManagementDatabase Management relational model and SQLrelational model and SQL data modeling and normalisationdata modeling and normalisation ought to have more coding (JDBC)!ought to have more coding (JDBC)!
![Page 12: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/12.jpg)
Second Year: support subjects Computer System OrganisationComputer System Organisation
from Networks majorfrom Networks major Data Structures & AlgorithmsData Structures & Algorithms
from Principles of CS majorfrom Principles of CS major these are recommended but not enforced for these are recommended but not enforced for
Software Development majorsSoftware Development majors
![Page 13: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/13.jpg)
Third Year
6 subjects each 1/66 subjects each 1/6thth of a full semester! of a full semester! 3 core software process subjects3 core software process subjects
design, coding, testingdesign, coding, testing 1 of 4 domain-specific subjects1 of 4 domain-specific subjects
UI, distributed objects, client-server UI, distributed objects, client-server database applications, network database applications, network programmingprogramming
a double weight group project a double weight group project
![Page 14: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/14.jpg)
Third Year: process subjects DesignDesign
patterns, architectures, sophisticated UML patterns, architectures, sophisticated UML featuresfeatures
CodingCoding complexities of C++ (templates, namespaces, complexities of C++ (templates, namespaces,
etc), version control, personal processetc), version control, personal process Testing and V&VTesting and V&V
coverage methods, automated testing toolscoverage methods, automated testing tools
![Page 15: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/15.jpg)
Third Year: domain subjects User InterfacesUser Interfaces
both design and programmingboth design and programming Distributed Object SystemsDistributed Object Systems
components and middlewarecomponents and middleware Network ProgrammingNetwork Programming
socket-level, from Networks majorsocket-level, from Networks major Database ApplicationsDatabase Applications
client-server, from Information Systems majorclient-server, from Information Systems major
![Page 16: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/16.jpg)
Third Year: project
counts as two subjectscounts 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 topicsstudents choose from a list of possible topics
supervised by academic staff or externallysupervised by academic staff or externally assessment covers process, product, and reflectionassessment covers process, product, and reflection
![Page 17: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/17.jpg)
Status
first year in Java in 2001first year in Java in 2001 similar approach, content taught in Blue similar approach, content taught in Blue
for several yearsfor several years second year will be taught in 2002second year will be taught in 2002 third year subjects taught from 2003third year subjects taught from 2003
some (eg UI) already taught in existing some (eg UI) already taught in existing curriculumcurriculum
first graduates at end of 2003!first graduates at end of 2003!
![Page 18: Design of a Software Development Major Alan Fekete Bob Kummerfeld (University of Sydney)](https://reader036.vdocuments.us/reader036/viewer/2022081908/56649e2a5503460f94b189d4/html5/thumbnails/18.jpg)
Conclusion
we have chosen topics that seem most we have chosen topics that seem most beneficial to producing students who will beneficial to producing students who will be good software developers for be good software developers for sophisticated applications in fluid situationssophisticated applications in fluid situations
we have kept total content to only 1.5 yearswe have kept total content to only 1.5 years we can’t cover all SWEBOKwe can’t cover all SWEBOK but students have room for other topics but students have room for other topics
that interest themthat interest them