General Information

Meeting time MWF 3:00 - 3:52 p.m.
Meeting place B 165 (or B 164 lab as appropriate)
Professor Xiannong Meng Dana 212, x. 71214, xmeng at bucknell dot edu
Office Hours See my schedule
Or simply stop by my office
Textbook No required textbooks.


Course website:

Course gitlab site:

Course Moodle site:

Course Catalog Description

Students in teams use software engineering methodology to design and implement a semester-long project. Written reports and presentations are required. Prerequisites: CSCI 205 and senior standing in the College of Arts and Sciences.

Course Outcomes

Students will be able to

CAC Student Outcomes Addressed:

Course Structure

This is a project based course. You will develop a large piece of software using an Agile software development process which you will learn in class (if you haven't already seen it in other classes.)

The course meets three hours a week with a mix of lectures, collaborative learning activities, customer meetings, and team meetings. When necessary, we may move our meetings to a computer laboratory.

Since this is a W-2 course, students are expected to have substantial amount of writing and presentation.

During the semester (the software development process) we will set a number of milestones (short term goals) for the project that each team needs to meet. These milestones can be in the forms of written papers, presentations, deliverable software components, among others.

The Project

The instructor (and other customers) will propose projects for students to work with. Students may propose their own projects. Since we have only one semester to work on the projects, we will need to make a decision on the project in a short period of time, e.g., about two weeks. Teams of students can work on different projects. A student proposed project needs the approval of the instructor.

Follow this link for a detailed description of the project.

Expected Work

Quoting from the university Academic Expectations section of Student Handbook

"Courses at Bucknell that receive one unit of academic credit have a minimum expectation of 12 hours per week of student academic engagement. Student academic engagement includes both the hours of direct faculty instruction (or its equivalent) and the hours spent on out of class student work. Half and quarter unit courses at Bucknell should have proportionate expectations for student engagement."

The ultimate goal of this course is for student teams to design, implement, test, and release a piece of software. Though the final product is important, the process of reaching the goal is equally important.

We will employ an agile software development process. Students are expected to accomplish a number of tasks in producing the software.

Peer Evaluation

This form is used to evaluate individual effort towards team activities. You can also use the Word form to email me directly. Note that the peer evaluation is separate from team assessment.


This rubric will be used to assess your presentations.

This rubric will be used to assess your writings.


The course assessment is based on the following distribution of the grade.

Participation and team assessments 10%
Project journals 10%
Project artifcats (Product Backlogs, Sprint Backlogs, and Website) 12%
System design report and presentation 8%
Project progress report and presentations 20%
Final project delivery, presentation, and report 30%
Individual reflection paper 10%

Total 100%

The peer evaluations from team members will then be applied appropriately to the final grade of each individual student.