1 / 23

SOME IMPORTANT FACTORS IN TEACHING SOFTWARE ENGINEERING COURSES

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

stacie
Download Presentation

SOME IMPORTANT FACTORS IN TEACHING SOFTWARE ENGINEERING COURSES

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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.ca URL: http://www.nipissingu.ca/faculty/haibinz

  2. Contents • Introduction • Paying Attention to the students’ Learning Abilities • Teaching SWE Courses with Real Projects • 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.

More Related