GROUP PROJECTS IN SOFTWARE ENGINEERING EDUCATION Jiang Guo Department of Computer Science California State University Los Angeles April 3-4, 2009 Background At Cal State LA, Software Engineering courses are Core courses. Software Engineering is important in ABET Software Engineering courses CS337/CS437 are two quarter series. Objectives of Software Engineering Students will have the training to design and implement a large software system and will have the ability to work both individually and collaboratively. Students will have sufficient oral and written communication skills. Prerequisite Courses for SE Using Relational Databases and SQL Object-oriented Programming Java Programming with Data Structures Web and Internet Programming Data Structures and Algorithms. SE are Lab-oriented Core Courses Students are divided into groups of 4 to 5 members each Each group is responsible for the design and development of a software system collaboratively Group activities includes documentation, implementation, and presentation Benefits of Group Project in SE Improved students’ software development experience. Enhancement of problem solving and critical thinking skills for students. Students trained to master a comprehensive set of computing skills and to apply them quickly in a realistic hands-on environments. Students trained to have teamwork coordination skills and offer them valuable opportunities for leadership development. Organization of Groups Faculty Advice Advice Group Leader Lead Coordinate 3 UnderGrad Students Join Group 1 Group Leader Lead Group Leader Coordinate Lead 3 UnderGrad Students Join Group 2 Coordinate 3 UnderGrad Students Join …… Group n Organization and Management of Group Projects Lab Arrangement The instructor works with group members in the lab twice per week. Once a month, the instructor hosts progress presentation seminars, during which participating students and group leaders give brief presentations. At end of quarters, students give a final presentation and demo. Projects Selection The project topics are selected by students. The students join a group totally depends on their interests. If students can’t find their preferred topics, the instructor assigns a topic to a group. Free Project Platforms Most software tools that we use are open source software (choice?) Java MySQL Eclipse Apache Tomcat Apache Struts IBM Rational Software Architecture Documents and Standard Template To help students finish these documents, we provide documentation templates based on IEEE standards: Requirement Specification Design Specification Code Test Report Sample Projects Empty Pockets.com Online Store Video Rental Business Automated Online Auto Auction Dating System MyGrocery.com Book Trading System in Library Net CAD System Music Sharing System Tiger E-Learning System (I) This courseware is designed to facilitate university faculty and student coursework activities so that they have user-friendly interface to effectively interact with one another. Tiger E-Learning System (II) For faculty: upload slides, lecture notes, homework, etc. grade students’ homework online get the statistic information of students’ homework and exercise use the statistic information to find the weak areas in the teaching send emails to all the students use forums to discuss questions with students Tiger E-Learning System (III) For students: download slides, lecture notes, homework, etc. submit students’ homework online send emails to teacher and other students use forums to discuss questions with other students Purposes Not all faculty enjoy web-based systems. Complexity Many faculty still do not have web pages WebCT Blackboard… are too complex to use. Cost Too expensive to buy? Learn curve? Administrator? Thank you! Thank you!