Syllabus
- Instructor: Evan M. Peck
- Office: Dana 334
- Phone: 570-577-2345
- Office Hours: See my calendar. Try to make it to my listed office hours first. If you have conflicts, look at my calendar and propose a time that works for you. While I am going to encourage interaction on Slack first and foremost for questions, I generally respond quickly to emails.
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…
- function effectively in a project team (CAC d);
- use knowledge from previous courses in designing, implementing, and evaluating a culminating computing project (CAC b,c);
- organize, write, and deliver technical written document(s) and oral presentation(s) about the project (CAC f).
CAC Student Outcomes Addressed:
- CAC (b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
- CAC (c) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
- CAC (d) An ability to function effectively on teams to accomplish a common goal
- CAC (f) An ability to communicate effectively with a range of audiences
Course Structure
This is a project based course. You will develop a large piece of software using an Agile software development process. 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 a substantial amount of writing. During the semester, 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. 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.
Expected Work
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.
-
Attendance and Participation: CSCI 479 is a project course. While we will have three meetings per week at the specified hours, we will not have regular lectures. Instead we will discuss various issues and explore technologies needed to complete the product as a class or as a project team. Attendance and participation in all meetings are critical.
-
Team assessment: A number of tasks throughout the semester, including the final project, will be completed in teams. Contribution to team work is an essential part of the course. Team work includes design, coding, testing, writing, technical presentations, and research. To assess how teams are working together, we will use a survey to collect data. The goal of the survey is not necessarily to assign grades for each team member. Rather the survey is used to gauge how the team is doing and to see which areas the team can improve. Note: If there are consistent, significant problems with a team member, the instructor may re-weight other dimensions of their final grade to reflect their contribution
-
Individual proposal: Each student is asked to submit a proposal which contains two major components. The first component is your understanding of the project, its functions and its scope. The second component is your argument why you want to pursue this project. You can also propose teammates with whom you’d like to work in the project.
-
Project journals: Each student is asked to keep an individual weekly journals in a shared Google Drive folder. The intended reader of the journals is your instructor. The expected length is approximately one page. There are a total of 14 weeks during the semester. Each student is required to turn in 10 sets of journals. The instructor will provide written feedback to a subset of the journals. Students are asked to revise this subset of journals based on the feedback.
-
System architecture and overall design: Student teams will present to the class a system architecture. The overall design should include major components of the system, interaction among the major components, snapshots of screens, user interfaces, and other artifacts to show how the system might work together. A written report and an oral presentation are required. The report is expected 5-7 pages (2,000 to 2,500 words). The presentation is expected to be about 10 minutes. Please follow proper format.
- Project progress reports and presentations: While we will exchange information about the project at each of our meetings, two formal progress reports and presentations are required during the semester (sometimes during the 5th week and the 10th week). The reports are expected to be 3-5 pages (1,200 to 1,500 words) and presentations about 10 minutes each. Each report should include the following.
- Current status of the project
- Team plan for the remaining of the semester
- Any successful stories or difficulties during the past weeks in the semester
- Team reflections
-
Product backlog and sprint backlog: Each team will maintain a Product Backlog and a Sprint Backlog. While the format of Product Backlog and Sprint Backlog varies greatly, we will pick a simple, yet effective one to use. The backlogs should be updated regularly to reflect the product progress and team work.
-
Project Website: Each team will maintain a project website to promote their team and product, using Bucknell Blog site (with Wordpress) or your personal Bucknell site hosted at
eg.bucknell.edu/~username
. -
Final Report and Presentation: Each team will write a final report and make a final presentation about their project at a designated time.
- Individual reflection of Bucknell education experience: Because CSCI 479 is designed to be a culminating experience for students, each student is required to write an individual paper to reflect on their Bucknell education. Contents should include, but not limited to, your experiences as a student at Bucknell, your computer science education, your general education, and your extra-curriculum activities that help you grow intellectually. General length of the paper should be 2,000 to 2,500 words.
Rubric
- This rubric will be used to assess your presentations.
- This rubric will be used to assess your writings.
Grades
- Individual Project Proposal: 5%
- Participation and Team Assessments: 15%
- Project Journals: 10%
- Project Artifacts: 12%
- System Design Report & Presentation: 8%
- Project Progress Report & Presentation: 20%
- Final Project Delivery, Presentation, & Report: 20%
- Individual Reflection Paper: 10%
Accessibility Statement
Any student who needs an accommodation based on the impact of a disability should contact Heather Fowler, Director of the Office of Accessibility Resources at hf007@bucknell.edu, 570-577-1188 or in Room 212 Carnegie Building who will coordinate reasonable accommodations for students with documented disabilities.