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

Slides:



Advertisements
Similar presentations
E-Science Data Information and Knowledge Transformation Thoughts on Education and Training for E-Science Based on edikt project experience Dr. Denise Ecklund.
Advertisements

Which Course? Where Does Your City University Degree Lead? Dr. Sebastian Hunt Associate Dean.
Assessment of Undergraduate Programs Neeraj Mittal Department of Computer Science The University of Texas at Dallas.
1 Undergraduate Curriculum Revision Department of Computer Science February 10, 2010.
Computer Science & Software Engineering challenges in Albania.
Cyber Education Project Accreditation Committee November 2014.
Department of Mathematics and Computer Science
Computing Degree Programs at Winthrop University Winthrop Day 2015.
© Copyright CSAB 2013 Future Directions for the Computing Accreditation Criteria Report from CAC and CSAB Joint Criteria Committee Gayle Yaverbaum Barbara.
UWaterloo An undergraduate degree program in Software Engineering at the University of Waterloo, jointly sponsored by the depts of CS and E&CE.
SWEBOK & U. Ottawa SE1 SWEBOK Compared to the University of Ottawa Undergraduate SE Program CSEET March, 2000 Timothy C. Lethbridge.
Panel: Mathematics in CS Iowa Undergraduate Computer Science Consortium October 2005.
What do Computer Scientists and Engineers do? CS101 Regular Lecture, Week 10.
Distributed Systems Architectures
September Carl Hauser Associate Professor October 2007 Computer Science Programs School of Electrical Engineering and Computer Science.
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Computing Branches Out: On Revitalizing Computing Education Amber Settle DePaul University joint work with Ljubomir Perkovic The International Conference.
CREATE THE DIFFERENCE Welcome Maths and Applied Stats Maths half Applied Stats half Stafford Joints: Staffordshire University Faculty of Computing, Engineering.
Revised MS Program in Computer Science INFORMATION AND COMPUTER SCIENCE DEPARTMENT October 2002.
Course Map The Java Programming Language Basics Object-Oriented Programming Exception Handling Graphical User Interfaces and Applets Multithreading Communications.
Software Engineering Education Andy Gravell, Feb 2007.
CS 1 with Robots CS1301 – Where it Fits Institute for Personal Robots in Education (IPRE)‏
Job roles in I.T. By Jamie colclough. Software engineer Also known as application programmer, software architect, system programmer, system engineer.
ABET Accreditation Board for Engineering and Technology
Computer Science Graduate Programs at UTSA Dr. Weining Zhang.
Computing MS Degrees Masters Degrees in Computing at GMU Jeff Offutt Professor of Software Engineering Chair, Graduate Studies Committee Coordinator, MS-SWE.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Do we need theoretical computer science in software engineering curriculum: an experience from Uni Novi Sad Bansko, August 28, 2013.
Yiangos Ktorides Cyprus Computer Society Computer Science at the Primary and Secondary Schools of Cyprus.
Introduction to Computer and Programming CS-101 Lecture 6 By : Lecturer : Omer Salih Dawood Department of Computer Science College of Arts and Science.
First and fourth year design-build team projects: a comparison David C Levy Director, Software Engineering Program School of Electrical and Information.
1 By The Numbers. 2 One of largest programs of its kind at a major research institution Replication is underway at other universities. US Department of.
Graduate Programs in Dept of Computer Science Univ. of Texas at San Antonio Dr. Weining Zhang.
MATHS/FURTHER MATHS. At a fast pace due to first exams in January 2013 Taught by a subject specialist Interesting and include relevant examples to enable.
Structure of Study Programmes
Computer Science Graduate Studies in U of Memphis.
Software Engineering Program School of Information Technology and Engineering ugrad/softwareengineering.html.
The new Computer Science Masters Degree of FCT/UNL “Course outline”
Integrating Parallel and Distributed Computing Topics into an Undergraduate CS Curriculum Andrew Danner & Tia Newhall Swarthmore College Third NSF/TCPP.
Education in a Global Context February 28, 2008 William H. Schmidt University Distinguished Professor Michigan State University.
Structure of Study Programmes Bachelor of Computer Science Bachelor of Information Technology Master of Computer Science Master of Information Technology.
Dr. Karl Abrahamson, Department Chair Dr. Amy Shannon, Academic Advisor.
DI-FCT-UNL Departamento de Informática Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa UNL’s new Bologna-style 1st-Cycle Degree (BSc) in.
ISECON Feinstein1 IM’ LATE FROM THERE TO HERE – FROM HERE TO THERE A FEW BITS AND BYTES David Feinstein Educator of the year 2004.
Computer Science Department 1 Undergraduate Degree Program Computer Science Chair Dr. Kurt Maly.
The Balance Between Theoretical and Practical Work Within Electrical and Computer Engineering Courses Dr. Bahawodin Baha March Development Partnerships.
March 4, 2004 Cryptography and Computer Security for Undergraduates Suzanne E. Gladfelter Penn State York
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
Computer Science at Cambridge create the future. Our key aims To give an understanding of fundamental principles that will outlast today’s technology.
BSc Honours Project Introduction CSY4010 Amir Minai Module Leader.
Computer Science in Context Evangelos E. Milios Professor and Graduate Coordinator Faculty of Computer Science Dalhousie University.
Implementation of Innovations at FSMN by Miroslav Ćirić & Predrag Krtolica.
Software Engineering at MSOE Mark Sebern Professor & BSSE Program Director Milwaukee School of Engineering.
1 Undergraduate Software Engineering Programs in the United States (in 2003) Mark A. Ardis Rose-Hulman Institute of Technology.
New Curricula Proposal at FSMN by Miroslav Ćirić & Predrag Krtolica.
Introduction to Software Testing Model-Driven Test Design and Coverage testing Paul Ammann & Jeff Offutt Update.
BSc Honours Project Introduction CSY4010 Amir Minai Module Leader.
Pre-registration Information Andrew Brewick Director of Academic Advising.
Computer Cambridge. Our key aims To give an understanding of fundamental principles that will outlast today's technology To produce graduates.
Department of Mathematics, Statistics and Computer Science
Analysis of Computing Options at ISU
Role of the Systems Analyst
Two part course Software Engineering option only!
Neeraj Mittal September 29, 2017
Cryptography and Computer Security for Undergraduates
CSE 142 vs CSE 143 CSE 142 CSE 143 You learned how to write programs and decompose large problems with: Print statements Methods Control Structures.
CS1301 – Where it Fits Institute for Personal Robots in Education
CS1301 – Where it Fits Institute for Personal Robots in Education
Computer Science Courses in the Major
Presentation transcript:

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

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

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

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)

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

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  each year choose to major in IT, in many different generalist degrees  plus 150 software/computer engineers

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

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

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

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

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)!

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

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

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

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

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

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!

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