CSCI 479: Computer Science Design Project
Department of Computer Science

General Information

Meeting time and place MWF 3:00 - 3:50 p.m., Dana 325
Instructor Professor Alexander Fuchsberger, Dana 338, x. 71055, af033 at bucknell dot edu
Office Hours Book an Appointment
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

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.

Diversity Statement

Bucknell's diversity statemet includes the following:

Bucknell University’s diversity efforts broaden and deepen our personal and intellectual horizons, preparing all of us - students, staff, and faculty - to make thoughtful, responsible contributions as individuals, community members, and professionals in a diverse, globally integrated world.

An essential component of Bucknell's commitment to academic excellence is our commitment to fostering an inclusive, diverse campus community. Given this, Bucknell’s understanding of diversity is broad-based, emphasizing the identity and experiences of groups that have been historically underrepresented in higher education and encompassing ability, age, class, culture, ethnicity, gender identity, gender expression, immigration status, national origin, race, religion and spirituality, sex, and sexual identity, among others. We recognize that diverse experiences and perspectives in the classroom and across campus enhance everyone’s educational experience.

Together, we are building and nurturing a community that embraces, respects, and celebrates diversity in all its forms.

Bucknell University Honor Code

As a student and citizen of the Bucknell University community:

  1. I will not lie, cheat, or steal in my academic endeavors.
  2. I will forthrightly oppose each and every instance of academic dishonesty.
  3. I will let my conscience guide my decision to communicate directly with any person or persons I believe to have been dishonest in academic work.
  4. I will let my conscience guide my decision on reporting breaches of academic integrity to the appropriate faculty or deans.

Students are expected to read and abide by the principles clearly explained in the Student Handbook. Under no circumstance, should any student submit work that is not of their authorship. If a deadline is tight, or impossible, before getting desperate, talk to your instructor. It is better to be late than dishonest. Remember that your instructor's main goal is to provide you the best opportunities to learn.

The university has a set of web pages that describe what we understand for Principles of Academic Responsibility and how it deals with cases of violations of these principles (Student Code of Conduct.)

Your instructor will make every effort to explain in detail the collaboration policy for each specific assignment. Before you start your work, make sure to read and understand this policy. Should any questions arise, contact your instructor immediately to have them clarified.

Access 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.

Basic Needs Security

Any student who has difficulty affording groceries or accessing sufficient food to eat every day, or who lacks a safe and stable place to live, and believes this may affect their performance in the course, is urged to contact the Dean of Students for support. Furthermore, please notify the professor if you are comfortable in doing so. This will enable them to provide any resources that they may possess.

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.