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

Slides:



Advertisements
Similar presentations
Dr Jim Briggs Masterliness Not got an MSc myself; BA DPhil; been teaching masters students for 18 years.
Advertisements

1 Graduates’ Attributes : EMF, EUR-ACE and Federal Educational Standards Alexander I. Chuchalin, Chair of the RAEE Accreditation Board Graduates’ Attributes.
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
1 i206: Distributed Computing Applications & Infrastructure 2012
FINAL YEAR PROJECT I & II Week 1 – Introduction to the Course.
ICS 324 Database Systems Second Semester (072) Information & Computer Science Department.
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
The Education of a Software Engineer Mehdi Jazayeri Presented by Matthias Hauswirth.
1 Teaching Portfolio of Vandana P. Janeja Information Technology Major PhD in Management Rutgers University - Newark.
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
Faculty Curriculum Retreat 2008 Department of Physiology Faculty of Medicine P.S. LEUNG Teaching Tips: What has proven to be effective pedagogic techniques.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
Software Engineering COMP 201
Overview of the Rose-Hulman Bachelor of Science in Software Engineering Don Bagert SE Faculty Retreat – New Faculty Tutorial August 23, 2005.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style ADVANCED PROGRAMING PRACTICES Introduction.
Mohammad Alshayeb 19 May Agenda Update on Computer Science Program Assessment/Accreditation Work Update on Software Engineering Program Assessment/Accreditation.
Object-Oriented Enterprise Application Development Course Introduction.
Lesson Planning Educ 3100.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
ACADEMIC PROJECT Week 1 – Introduction to Academic Project.
Evaluation of Pace University's Master's Degree Program for BNY Mellon Employees Seidenberg School of Computer Science and Information Systems Pace University.
COMPUTER SCIENCE LYNDA THOMAS – SENIOR LECTURER, ACADEMIC ADVISOR.
Copyright © 2009 On The Edge Software Consulting Advanced Enterprise Java Instructional Plan Presentation Tier Design using an Event Driven Design Methodology.
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
Computer Network Fundamentals CNT4007C
Foundations of Educating Healthcare Providers
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Advanced Enterprise Java Platform Class and Lab Mark K. Reha.
1 What do We Learn from Challenging TEFL CALL Students’ Projects? Presenter: Professor Lyra Riabov Southern New Hampshire University NNETESOL Fall 2006.
Intelligent Systems Programming COMM2M Harry R. Erwin, PhD University of Sunderland.
MOOC as a Learning Environment and its Educational Values Abeer Watted and Miri Barak
GROUP PROJECTS IN SOFTWARE ENGINEERING EDUCATION Jiang Guo Department of Computer Science California State University Los Angeles April 3-4, 2009.
Jayneen Kehaulani Souza University of Hawaii at Manoa
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
Software EngineeringIntroduction Slide 1 Software Engineering Mr. Ahmad Al-Ghoul.
EECE 310 Software Engineering Lecture 0: Course Orientation.
(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.
P28.  Educator provides the learners with content.  It is a educator approach  Examples : lectures and demonstrations  Educators must keep the following.
SE-308 Software Engineering-II 7th Term SE University of Engineering & Technology Taxila, Pakistan Software Engineering Department.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
Nipissing University, North Bay, Ontario, Canada 1 Building Reusable Components with Service-Oriented -IBM Eclipse Innovation Grant -IBM Eclipse Innovation.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Course Introduction Software Engineering
PBL in Team Applied to Software Engineering Education Liubo Ouyang Software School, Hunan University CEIS-SIOE, January 2006, Harbin.
Learning outcomes for BUSINESS INFORMATCIS Vladimir Radevski, PhD Associated Professor Faculty of Contemporary Sciences and Technologies (CST)
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Computer Science Information Technology My Career 10/26/2015.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Analyze Design Develop AssessmentImplement Evaluate.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
Presenter: Wan-Ning Chen Professor: Ming-Puu Chen Date: November 11, 2009 Ramaswamy, S., Harris, I., & Tschirner, U. (2001). Student peer teaching: An.
Nipissing University, North Bay, Ontario, Canada 1 Challenges to Reusable Services - IBM Eclipse Innovation Grant - IBM Eclipse Innovation Grant - IBM.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
CS-112 Object Oriented Concepts Course Syllabus. Outline  Instructor and Prerequisites  What this course is  Learning outcomes  Degree program outcomes.
Methodology First and Language Second -A Way to Teach Object-Oriented Programming Haibin Zhu, PhD Department of Computer Science and Mathematics Nipissing.
Instructional Plan Template | Slide 1 AET/515 Instructional Plan Advanced Enterprise Java Platform Training Presentation Tier Design using an Event Driven.
1 Software Test Computer Science Department, Information Faculty Dr. KaiYu Wan.
The Level-2 Projects for Course Clusters Haojun Sun College of Engineering Shantou University.
SFTW241 Programming Languages Architecture 2002~2003 Semester II Duration: 2003/2/11~ 2003/4/11 University of Macau Faculty of Science and Technology Computer.
Computer Networks CNT5106C
Dr. Leslie David Burns, Associate Professor Department of Curriculum and Instruction UK College of Education
Soft Skills: Where Do We Teach Them in a 4-Year Environment Kathy Winters University of Tennessee, Chattanooga.
New Computer Science Programme at the Department of Informatics Pedro Guerreiro University of Nis, March 24, 2006.
Spring ÇGIE lecture 01 IE 398 Systems Thinking De partment of Industrial Engineering METU - February 2010 a course on the methods and practice.
Advanced Programing practices
Computer Network Fundamentals CNT4007C
Crowd Simulation (INFOMCRWS) - Course Introduction
EECE 310 Software Engineering
Introduction to CS II Data Structures
Office: ENGR 530 Phone: Emai:
Course Introduction Data Visualization & Exploration – COMPSCI 590
Presentation transcript:

SOME IMPORTANT FACTORS IN TEACHING SOFTWARE ENGINEERING COURSES Presenter: Jingzhou Li Depart of ECE, University of Calgary, Author: Haibin Zhu, PhD Department of Computer Science and Mathematics, Nipissing University, North Bay, Canada URL:

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

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.

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

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

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

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

Evaluations at NU

Evaluations at NJIT

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

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.

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

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

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.

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

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.

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.

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.

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

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

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.

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

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.