Fall 2021/CSCI 475+476 – Computer Science & Engineering Senior Design

Fall 2021 meeting on Monday & Wednesday 3:10 PM – 4:00 PM in Breakiron 165 & 166.

Professors Alan Marchiori and Joshua Stough.

Our talented seniors are excited to work with commercial industry and community partners in order to build software solutions to achieve your competitive advantage. If you have a problem you feel could make a good Senior Design project, please see the Computer Science and Engineering project proposal request. For sponsored projects, please read about the College’s Corporate relations program, and contact Shane Cohen, scohen@bucknell.edu, Director, Engineering Corporate Relations, 570-577-3707 to begin the process.

Resources

Key Milestones

Project teams assigned9/6/2021
Project proposals due9/27/2021
Sprint 1 review10/25/2021
Sprint 2 review11/15/2021
Proof of concept presentation (est)12/16/2021
Sprint 4 review2/28/2022
Alpha release3/25/2022
Beta release4/25/2022
Final release & handoff5/16/2022

Syllabus

Although the Senior Design course sequence in Computer Science has multiple learning outcomes, it has one overarching goal: to serve as a culminating experience in the discipline that aims to transition you from a student into a professional. This course has been prepared to provide you with multiple, complementary perspectives to aid you in this transformation. Take it seriously, give your best, act professionally, consider the feedback you are given, develop your self-reliance, your teamwork skills, and you will be on solid footing.

Course Description

Throughout the year, we will be deeply involved in a role-playing exercise: each team will function as if it is start-up company or small group of independent contractors, working toward getting established and launching its first product. The development of the product will give teams the opportunity to put into practice the knowledge of computer science they have developed and also to go beyond it with a fair amount of independent learning and self-reliance. Doing all of this in the context of working as a team that is dedicated to creating a new business will push your learning in unexpected and, hopefully, fun and exciting directions.

Student Learning Outcomes (with ABET mappings)

  1. Students will be able to apply the Engineering Design Process in the context of the team development of a software system. (EAC a, c, d, e) (CAC a, c, d, k)
  2. Students will be able to communicate, both in writing and orally, an investigative study for a real world problem outlining a software solution and its social, legal, and ethical impact. (EAC e, f, g) (CAC e (ethical, legal, social), fk)
  3. Students will be able to devise a formal project proposal outlining the specifications of a software system based on users’ needs, its general architecture, and its preliminary design. (EAC c, e, g) (CAC c, f)
  4. Students will be able to work effectively in a project team. (EAC d) (CAC d)
  5. Students will be able to apply a software development process toward the design, implementation, and delivery of a product. (EAC a, c, e, (economic, social), i, k) (CAC a, c, e (ethical, legal,social), g, h, i, k)
  6. Students will be able to create and deliver technical document(s) and oral presentation(s) about the project. (EAC g) (CAC f)

Topics

  • Engineering Design Process.
  • Technical writing and oral presentation skills.
  • Effective teamwork.
  • Design for the user experience.
  • Customer involvement and satisfaction.
  • Failure modes and effects analysis.
  • Legal exposures and considerations for software developers.
  • Intellectual property: Patents, copyrights, trademarks, and service marks.
  • Software development methodologies, with special attention on agile methods (mostly Scrum).
  • Leadership, entrepreneurship:
    • Creativity and innovation
    • Coping with and overcoming failure
    • Managing day to day affairs
    • Dealing with constraints (financial, technical, and managerial)

Expectations for Academic Engagement

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.

Professionalism

For many of you, this course may be one of your first professional experiences. Therefore, we will define and practice quality and professional behavior. Behaviors that are of low quality, such as arriving late, leaving early, being unprepared for group assignments, letting your team down in any way, including disproportionate work loads among your team, missing class, texting, unbalanced group work, turning in work late, not doing your own work or other less desirable behaviors, lay the groundwork for mediocrity and will be penalized accordingly.

The instructor will help you lay the groundwork for excellence, and likewise, your involvement in and professional demeanor towards the class counts heavily toward your grade. Please feel free to discuss these matters with your instructors or the class. We take the University policies for academic honesty and plagiarism very seriously. As seniors, you have come to expect this mandate. Though it is unlikely that you have never read them, in the event that you need a reminder, we strongly encourage you to spare the time to get acquainted with these policies.

Code of Conduct

Professionally, we adhere to ACM’s Code of Ethics. More broadly, a course like Senior Design involves intense collaboration and communication. Computer science has a checkered history with respect to inclusion – in corporate environments, in our classrooms, and in the products we create. 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).

We reject behavior that strays into harassment, which is sustained and offensive. Such behavior (whether verbal, written, or actions) may relate to others’ race, gender, or sexual orientation, among virtually innumerable professionally irrelevant characteristics (e.g., religion, [dis]ability, age, etc.); sexual images in public spaces; deliberate intimidation, stalking, following, harassing photography or recording, disruption of 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 instructor to explain the situation. While we will preserve anonymity when possible, also be aware that we are required by law to report incidents of sexual misconduct or relationship violence

You may also contact Bias Incident Reporting at https://www.bucknell.edu/life-bucknell/health-wellness-safety/bias-incident-policy

(Code of conduct adapted from Prof. Lorena A. Barba and Prof. Evan Peck.)

Activities

There will be a variety of activities conducted throughout the course, including:

  • Workshop-style class meetings
  • Extensive teamwork
  • Videos
  • Reflection and discussion of historical and current case studies in software engineering
  • Writing persuasive project proposals and other technical documents
  • Presenting a proposal

Writing

Although only CSCI 476 is listed as a W2 in the Senior Design course sequence, you will do a substantial amount of writing also in CSCI 475. (It is fair to think of the two courses combined as the equivalent of one W2 course.)

The Writing Program aims to develop students’ mastery of written language. As a W2 course, this class will include:

  1. Writing instruction.
  2. Support of the writing process.
  3. Teaching of the techniques of writing needed or expected in the discipline.
  4. Frequent and substantial writing.
  5. The use of writing assignments to teach the subject matter.

Text and other resources

Please download and read the freely available book “Introduction to OKRs” by Christina Wodtke (O’Reilly Media, 2016) available at https://www.oreilly.com/business/free/files/introduction-to-okrs.pdf. We will use OKRs begining around the end of September through the end of the spring semester.

You might also find it helpful to know of some titles to which the instructor may refer. They are listed below and most of them are available at the library (or from the instructor for short term use).

  • Succeeding with Agile: Software Development Using Scrum. Mike Cohn. 1st edition, Addison Wesley, 2010. ISBN 978-0-321-57936-2.
  • Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. 1st edition, New Jersey: Prentice Hall, 2002. ISBN 0-13-067634-9.

Suggested Reading

These are more general books with a lot of good ideas about having a successful career. If you don’t like reading, many (all?) are available as an audiobook.

Policies

  • Attendance is mandatory. The instructor will keep attendance records and poor attendance will have a negative impact on students’ grades. Your full participation in class activities will impact your grade. If you have to be absent for good reasons, such as job interviews, atheletic competitions, or a performance, you are responsible for letting the instructor know at least 24hrs in advance in writing (email is fine) and making up all missed work within a reasonable time (for example within the number of days missed). If you must miss class due circumstances beyond your control, an appropriate written justification is required (e.g.doctor’s note or dean’s note) and you must make up up all missed work within a reasonable time.
  • There will be individual and team assignments. Unless you’re told otherwise, assume that assignments are to be submitted at the beginning of lecture on the due date. Assignments turned in late will incur in penalties as follows: Within 24 hours past the due date: 10% penalty. Within 48 hours past the due date: 20% penalty. Within 72 hours past the due date: 30% penalty. After 72 hours past the due date, the assignment receives no credit.
  • Deadline extensions are possible, though undesirable. Individual students or teams must negotiate an extension with the instructor at least 48 hours in advance with the instructor. It is understandable that students will be traveling for job interviews, but since these are scheduled with some lead time, please notify the instructor as soon as possible.
  • The timeliness of return in peer evaluations will be counted toward an individual’s professionalism grade.
  • The principles of academic responsibility will be taken very seriously. Unsolicited reading or copying of other student or faculty files is as wrong as looking at or removing papers from a student or faculty member’s desk. It is the faculty’s role to report acts of academic misconduct the Board of Review on Academic Responsibility.
  • Letter grade assignments will be given at the end of the semester. Throughout the semester, the grades of individual assignments will returned to students. Letter grades will be based on a typical scale:
    • 93-100 A, 90-92 A-  (superior achievement)
    • 87-89 B+, 83-86 B, 80-82 B- (high pass)
    • 77-79 C+, 73-76 C, 70-72 C- (pass)
    • 60-69 D (low pass)
    • 0-59 F (failing work)

Grading

Grades will be given for all assignments approximately reflecting the scope of the assignment. Of these assignments, some will be completed and graded individually for 60% of your final grade. There will also be significant group/team assignments that will make up the remainder of your grade. It is expected that each student will contribute to the best of their abilities. Some examples of these graded items are shown below.

  • Individual 60%
    • Professionalism
    • Homework assignments
    • Individual reports or sections of group reports
  • Teamwork 40%
    • Effective use of agile processes and tools
    • Project proposal
    • Product releases (alpha/beta/final)

Feedback from individual meetings and peer evaluations may be used to modify teamwork scores for individual team members.

Students with Disabilities

Any student who may need an accommodation based on the impact of a disability should contact me privately to discuss the specific needs. Please contact Heather Fowler, Director of the Office of Accessibility Resources at 570-577-1188 or hf007@bucknell.edu who will help coordinate reasonable accommodations for those students with documented disabilities. See http://www.bucknell.edu/x7752.xml for more information.

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.

Failure to adhere to the Bucknell University Honor Code will result in immediate failure of the course.


Posted

in

by

Tags: