Introduction to Embedded Software Development He Zongjian
Learning by doing Project Project Source code server Progress control MSF Speech Speech Microsoft MSF expert ICOP -- CTO
Windows ChallengE Reference web site: Reference web site:
FAQ Resources Teacher Assistant: Teacher Assistant:
Brief Introduction An elective course of Embedded Computing An elective course of Embedded Computing 3-credit course, 3 hours per week. 3-credit course, 3 hours per week. Has been available for 2 years, over 260 students have taken this course. Has been available for 2 years, over 260 students have taken this course.
Goals make the student understand the characteristics of embedded system and embedded software make the student understand the characteristics of embedded system and embedded software understand the features and architecture of Windows CE, especially the differences from other embedded operating systems. understand the features and architecture of Windows CE, especially the differences from other embedded operating systems. know how to customize the OS and how to develop applications and device drivers. know how to customize the OS and how to develop applications and device drivers. give the students more practice via one or two projects. give the students more practice via one or two projects.
Achievement Students show great interests in this course. Students show great interests in this course. More than 200 undergraduate students and over 20 graduate students have selected this course. More than 200 undergraduate students and over 20 graduate students have selected this course. It has largest attendance among all the elective courses It has largest attendance among all the elective courses
Achievement (continued) Windows CE club is set et up. Now, more than 150 members have joined the club. Windows CE club is set et up. Now, more than 150 members have joined the club. Huaheng Cup Software development Competition Huaheng Cup Software development Competition Microsoft internship program Microsoft internship program
Differences from Windows Programming Application Development Application Development API , MFC API , MFC Development Tools Development Tools Common Application Common Application Networking , database Application Development Application Development Device Driver Development Device Driver Development OS Design OS Design Windows CE Kernel Architecture Windows CE Kernel Architecture
Two teaching methods in SSE 03 Traditional way >= 50% Traditional way >= 50% Learning by doing <= 50% Learning by doing <= 50%
Course Agenda Embedded System(2) Embedded System(2) Embedded Operating System(2) Embedded Operating System(2) Introduction to Windows CE (2) Introduction to Windows CE (2) Application Development (6) Application Development (6) Windows CE OS Development (6) Windows CE OS Development (6) Windows CE System Architecture(4) Windows CE System Architecture(4) Driver Development (4) Driver Development (4) BSP Development & Other Topics (4) BSP Development & Other Topics (4) Summary and Case study : (2) Summary and Case study : (2) vehicle electronic Lab Course (16) Lab Course (16)
Learning by doing CMU Learning by Doing + the situation of China + the involvement of software industry CMU Learning by Doing + the situation of China + the involvement of software industry Use large-scale applied or virtual software projects Use large-scale applied or virtual software projects Organize students like software company members Organize students like software company members Organize teaching courses like real software developing process Organize teaching courses like real software developing process
Learning by doing (Contd.) 20% teaching, 80% projects 20% teaching, 80% projects Teachers give the key points to students; students learn knowledge by self-study and doing projects. Teacher works as consultants. Teachers give the key points to students; students learn knowledge by self-study and doing projects. Teacher works as consultants. The grading criterion is whether students can finish software projects on schedule and on demand. The grading criterion is whether students can finish software projects on schedule and on demand.
Sources of projects 1. Consider whether Microsoft can provide some detailed project requirements, the projects can be virtual or real. Students can be grouped and “ bid ” for the projects. 1. Consider whether Microsoft can provide some detailed project requirements, the projects can be virtual or real. Students can be grouped and “ bid ” for the projects. 2. Students can be organized to join “ Microsoft Windows Embedded Student ChallengE ” competition. 2. Students can be organized to join “ Microsoft Windows Embedded Student ChallengE ” competition. 3. Some internal embedded projects in school. 3. Some internal embedded projects in school.
Training of engineering experience During the whole projects, we want to focus on training the engineering attainment of students. Not only lies in the usage of CASE tools, but also in the management of software process. From the initial business plan to analysis and design, coding and testing, product release and so on. All of these should be strictly according to the process of software companies. During the whole projects, we want to focus on training the engineering attainment of students. Not only lies in the usage of CASE tools, but also in the management of software process. From the initial business plan to analysis and design, coding and testing, product release and so on. All of these should be strictly according to the process of software companies.
Responsibility of the teacher Provide fundamental course introduction and introduction to tools and technologies. Provide fundamental course introduction and introduction to tools and technologies. Help students to build the develop environment and tools (code management, bug management) Help students to build the develop environment and tools (code management, bug management) assort with project process (coding, testing and communication) assort with project process (coding, testing and communication) Provide technical support (solving problems in projects) and so on … Provide technical support (solving problems in projects) and so on …
How students get knowledge 1. The teacher ’ s necessary explanation. 1. The teacher ’ s necessary explanation. 2. Self-learning. This is the main approach of getting knowledge. 2. Self-learning. This is the main approach of getting knowledge. 3. Communications between students. 3. Communications between students.
Organization of the students Divided into several groups. Each students can act as a specific role, such as : Architect , Program Manager , Developer , Test and so on. Divided into several groups. Each students can act as a specific role, such as : Architect , Program Manager , Developer , Test and so on. Each student takes his own responsibility and finishes the program together. Each student takes his own responsibility and finishes the program together. In order to let students experience different roles, we can perhaps put one student in different groups and let him / her act as different roles. In order to let students experience different roles, we can perhaps put one student in different groups and let him / her act as different roles.
Phase of the projects Divide the project into several phases. For example, writing business planning, project designing, software developing, testing and software release. Divide the project into several phases. For example, writing business planning, project designing, software developing, testing and software release. At the beginning of each phase, teachers or experts from enterprise can tell the students the tasks of this phase and important things. At the end of each phase, teachers or experts should review the results to see whether they can pass. If the result passes, they can go to next phase, or else, they should redo or modify it. At the beginning of each phase, teachers or experts from enterprise can tell the students the tasks of this phase and important things. At the end of each phase, teachers or experts should review the results to see whether they can pass. If the result passes, they can go to next phase, or else, they should redo or modify it.
How to grade Students are divided into several groups. For each group, we give the members the same result. Students are divided into several groups. For each group, we give the members the same result. We treat each group as a unit so that team working can be trained. We treat each group as a unit so that team working can be trained.
Future vision We would like to make this course and this teaching mode as a brand and this brand can have certain effect in software industry. We would like to make this course and this teaching mode as a brand and this brand can have certain effect in software industry. We may give the students a “ Learning by doing ” certification, so that students who take part in this course can have more advantages in job hunting. We may give the students a “ Learning by doing ” certification, so that students who take part in this course can have more advantages in job hunting.
Course Selection if in agenda select it else goto Mrs. Ji xuelian’s office before 20th end if
Reference Web site us/dnanchor/html/mobileembedded.as p?frame=true us/dnanchor/html/mobileembedded.as p?frame=true us/dnanchor/html/mobileembedded.as p?frame=true us/dnanchor/html/mobileembedded.as p?frame=true
Reference Newsgroup microsoft.public.windowsce.app.development microsoft.public.windowsce.app.development microsoft.public.windowsce.embedded microsoft.public.windowsce.embedded microsoft.public.windowsce.embedded.vc microsoft.public.windowsce.embedded.vc microsoft.public.windowsce.platbuilder microsoft.public.windowsce.platbuilder microsoft.public.windowsce.targeted.device microsoft.public.windowsce.targeted.device microsoft.public.windowsce.update microsoft.public.windowsce.update