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!