Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOME IMPORTANT FACTORS IN TEACHING SOFTWARE ENGINEERING COURSES Presenter: Jingzhou Li Depart of ECE, University of Calgary,

Similar presentations


Presentation on theme: "SOME IMPORTANT FACTORS IN TEACHING SOFTWARE ENGINEERING COURSES Presenter: Jingzhou Li Depart of ECE, University of Calgary,"— Presentation transcript:

1 SOME IMPORTANT FACTORS IN TEACHING SOFTWARE ENGINEERING COURSES Presenter: Jingzhou Li Depart of ECE, University of Calgary, Email: jingli@ucalgary.ca Author: Haibin Zhu, PhD Department of Computer Science and Mathematics, Nipissing University, North Bay, Canada email: haibinz@nipissingu.cahaibinz@nipissingu.ca URL: http://www.nipissingu.ca/faculty/haibinzhttp://www

2 Contents Introduction Paying Attention to the students’ Learning Abilities Teaching SWE Courses with Real Projects Arranging Courses in Series Other factors Conclusion

3 Introduction Software engineering (SWE) is a complex and challenging undertaking. The common difficulties are teaching abstraction in Object-Oriented Programming – Confucius’ statements demonstrate the situation. At fifteen my heart was set on learning; at thirty I stood firm; at forty I had no more doubts; at fifty I knew the mandate of heaven; at sixty my ear was obedient; at seventy I could follow my heart's desire without transgressing the norm. No one is considered as successful if he or she did not offer a large project that requires team work in a SWE course. CC-2001 recommended arrange knowledge units into groups.

4 Paying Attention to the students’ Learning Abilities The courses taught by the author The evaluations of the author at Nipissing University and NJIT Comments of students Conclusion from the evaluations

5 At Nipissing University Introduction to Computing C++ Programming Object-Oriented Programming Programming Paradigms Distributed Systems Software Engineering Computer Security

6 At NJIT, USA Operating System Designs that is a graduate course Introduction to UNIX Operating System that is third year course Introduction to Computer Science II that is a first year course Object-Oriented Programming with C++ that is a graduate course Principles of Operating Systems that is a third year course Machine and Assembly Language that is a second year course Advanced Programming Environment & Tools that is a distance learning course for graduate students

7 At NUDT, China – Object-Oriented Principles and Applications that is a course for graduate students – Distributed Systems that is a course for graduate students – Advanced Computer Architecture that is a core course for graduate students – Computer System Performance Evaluation that is a course for fourth year students

8 Evaluations at NU

9 Evaluations at NJIT

10 Comments Fourth year students: – Great professors, very interesting courses and lectures, great examples First Year Students – Not interesting, difficult to follow – The metaphors only confuse us more

11 Conclusions from evaluations and comments We should pay more attention to the students’ abstraction and learning abilities to understand the instructors. Some advanced concepts must be put into the courses in the later years.

12 Teaching SWE Courses with Real Projects Real projects can – Make SWE real; – Make SWE fun; – Make SWE critical; – Make SWE accessible; and – Make SWE successful

13 The project assignment Guideline: – Suggested project lists – Schedules – Document guidelines and requirements, and – Meeting skills and role distributions Requirements – 3-5 people per group – Meeting once a week – Projects documents according to SDLC – Presentation of the final project report

14 Example 1 Visual Academic Planner 4 students – planning manager – development manager – quality manager and – team leader. Complete: – the requirement document, the analysis document, the design document, and the final document.

15 Example 2 3D Visual Model 5 Students: – project leader – development manager – planning, manager – quality manager – support manager Developed to a research project

16 Project evaluations A whole grade from the professor The peer evaluation of the students – Participation: 10% – New idea: 25% – Comment: 20% – Cooperative work: 20% – Concrete work: 25% A grade is distributed to the students based on their peer evaluation.

17 Arranging Courses in Series Advantages: – Systematic: it is easy to arrange knowledge units across all the courses in the series. – Easy to manage: it is easy to let the professors and students understand the prerequisites of a course. – Saving resources: it is easy to check the duplicate knowledge units across the courses in the series. – Helping the students learn knowledge gradually; – Concentrating specific contents in relevant courses.

18 The Programming/Software Engineering series at NU Introduction to Computing C++ programming Object-Oriented Programming Programming Paradigms Distributed Systems Software Engineering Human Computer Interaction Project Management Computer Profession.

19 Benefit examples from course series A three-hour lecture of Distributed System moved to Computer Security A two-hour lecture of SE moved to Project Management C++ basics being completed in the first year courses makes the OOP course have time to teach Java

20 Other factors The properties of engineering – Engineering is different from science The basic requirements for a software engineering professor – Large real projects experience – Updating course material every year with 5-10% Teaching abstraction ability (See slide 21) Be careful to recurring concepts relevant to SWE (Slide 22) Learning from our lives – Common ideas are good solutions in SWE

21 Teaching abstraction ability Encourage students to learn enough mathematics; Introduce fundamental concepts with abstraction examples; Begin to teach students modeling and analysis from the introductory courses; Teach simple design methodologies in early introductory courses [8]; Guide students to do simple abstraction to complex abstraction in their course assignments and projects; and Teach software engineering students how to use formal models as part of their software development processes.

22 Be careful to recurring concepts relevant to SWE Trade-off Ready for changing The meaning of success

23 Conclusion Abstraction is difficult to teach and it is a task all over the SWE discipline. Students at different levels of have different level of understanding abilities. Mastering the course material thoroughly is not enough to be a successful professor. Grouping relevant course into a series can save teaching resources; help students learn knowledge gradually; and ease the management of courses. There many factors relevant to the experiences and the hard work of SWE professors. Nothing could replace the professors’ intelligences, experiences and dedications to be successful in teaching SWE courses.


Download ppt "SOME IMPORTANT FACTORS IN TEACHING SOFTWARE ENGINEERING COURSES Presenter: Jingzhou Li Depart of ECE, University of Calgary,"

Similar presentations


Ads by Google