General Information
Meeting time and place MWF 2:00 - 2:50 p.m. (Section 01 and 02, BRKI 165 and 166) Instructor Professor Xiannong Meng, Dana 212, x. 71214, xmeng at bucknell dot edu Instructor Professor Lily Romano, Dana 337, x. 73182, lily.romano at bucknell dot edu Office Hours Meng: 3-3:50 pm MTWF, 10-11:30 am R Office Hours Lily: Drop-in Monday 3:30-4:30 p.m. By Appointment M-F Textbook No required textbooks. Websites Course website: https://www.eg.bucknell.edu/~cs479/
Course Catalog Description
CSCI 479. Computer Science Design Project. 1 Credit.
Offered Fall Semester Only; Lecture hours:3
Students in teams use software engineering methodology to design and implement a semester-long project. Written reports and oral presentations are required. Prerequisites: CSCI 205 and senior standing in the College of Arts and Sciences and permission of the instructor.
Course Overview
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.
The instructors (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.
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 reach. These milestones can be in the forms of written papers, presentations, deliverable software components, among others.
Course Outcomes
Students will be able to…
- function effectively in a project team (CAC 5);
- use knowledge from previous courses in designing, implementing, and evaluating a culminating computing project (CAC 1, 2);
- organize, write, and deliver technical written document(s) and oral presentation(s) about the project (CAC 3).
CAC Student Outcomes Addressed:
- CAC (1): Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
- CAC (2) Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
- CAC (3): Communicate effectively in a variety of professional contexts.
- CAC (5): Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
List of Topics
The course is project-based. We will study, exercise, and reflect on these topics.
- Software design, construction, and test using a SCRUM process;
- Team work;
- Effective communications with project client(s);
- Team project related writing which includes
- Project design document;
- Project progress report;
- Project final report.
- Individual writing which includes prompted reflection and a culminalting reflection on your college education experience;
- Professional presentations.
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.
Individual Responsibilities
- 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 lecture meetings, as well as project team meetings are critical.
- Course Reflections: Each student is asked to write a reflection in response to a number prompts and submit them to our Google Classroom. The intended reader of the journals is your instructor. The expected length is approximately one page, single-spaced, size 12 font (including section headers).
- Final 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.
Team Responsibilities
- 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.
- 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. Certain amount of instructions will be given on how to use these tools effectively.
- 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.
- 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.
- Final Report and Presentation: Each team will write a final report and make a final presentation about their project at a designated time.
- Working with client(s): Eac project will have a client who will be using your product when completed. These clients can be external, i.e., folks from off-campus, industry, government, acadmia, or other entities, or internal, folks on campus, staff or faculty members, or your instructors. It is an integral part of the capstone experience to work with a client so your product can meet their needs. Note that it is common that these needs could change, within a range of reasonable parameters.
Assessment
- This rubric will be used to assess your presentations.
- This rubric will be used to assess your writings.
Grades
- (Individual) Reflection Prompts: 16%
- (Team) System Design Report & Presentation: 8%
- (Individual) Technology Introduction: 6%
- (Team) Project Progress Reports & Presentations (two): 16%
- (Individual/Team) Participation and Team Assessments: 14%
- (Team) Final Project Presentation & Report: 18%
- (Team) Project Artifacts: 14%
- (Individual) Reflection Paper: 8%
Code of Conduct
Professionally, we strongly adhere to ACM’s Code of Ethics. More broadly, a course like CSCI 479 involves reflection, collaboration, and communication. We recognize that computer science has a checkered history with respect to inclusion - in corporate environments, in our classrooms, and in the products we create. As a result, we strive to promote characteristics of transparency and inclusivity that reflect what we hope our field becomes (and not necessarily what it has been or is now).
Above all, be kind.
We reject behavior that strays into harassment, no matter how mild. In this context, harassment refers to offensive verbal or written comments or actions in reference to gender, sexual orientation, disability, physical appearance, race, or religion; sexual images in public spaces; deliberate intimidation, stalking following, harassing photography or recording, sustained disruption of class meetings, inappropriate physical contact, and unwelcome sexual attention.
If you feel someone is violating these principles (for example, with a joke that could be interpreted as sexist, racist, or exclusionary), it is your responsibility to speak up! If the behavior persists, send a private email to your instructors to explain the situation.
(Portions of this code of conduct are adapted from Prof. Lorena A. Barba)
You are also encouraged to file a Bias Incident Report to the university through this website: https://www.bucknell.edu/life-bucknell/health-wellness-safety/bias-incident-policy, if you see or hear something you don't feel comfortable. You may file the report anonymously or with your name.
Religious Holidays
Bucknell University recognizes the value of religious practice and seeks to accommodate students’ commitment to their religious & spiritual traditions whenever possible. When conflicts between holy days or other religious practice and academic scheduling arise, I will make every effort to allow students to adhere to their tradition, including - when possible - excusing class absences and allowing make-up work.
A student anticipating the need to miss a class for religious reasons should notify me as early in the semester as possible - understanding that last-minute requests may not be able to be accommodated. A form for notification is available through the Office of Religious & Spiritual Life if you wish to use it. We can then have further conversation to shape a final agreement. Questions or concerns or support are always available via Religious & Spiritual life via Chaplain@bucknell.edu.