Fall 2018/Spring 2019

Instructor: Alan Marchiori
Email: amm042@bucknell.edu
Office: Breakiron 268
Phone: 570-577-1751
Office Hours: Find my schedule or make an appointment here.

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. (ABET a,c,d,e)
  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. (ABET e, f, g)
  3. 475 (fall) – 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. (ABET c e g)
  4. 465 (spring) – Students will be able to devise a formal project report outlining the specifications of a software system based on users’ needs, its architecture, design, implementation, and evaluation.

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)
  • UML modeling
  • Leadership, entrepreneurship:
    • Creativity and innovation
    • Coping with and overcoming failure
    • Managing day to day affairs
    • Dealing with constraints (financial, technical, and managerial).

Bucknell University 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 me or the class. I will 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, I strongly encourage you to spare the time to get acquainted with these policies.

Activities

There will be a variety of activities conducted throughout the course.

  • 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 Resources

There are no required textbooks for this class. However, you might 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.
  • UML Distilled, by Martin Fowler. 3rd edition, Addison Wesley, 2004. ISBN 0-321-19368-7.

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 is worth at least 10% of your grade. If you have to be absent for good reasons, you are responsible for letting the instructor know in advance and in writing. 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).
  • 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 be available through Moodle. 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

475:

  • Individual 20%
    • Professionalism 10%
    • Writing assignments and class activities 10%
  • Teamwork 80% (weighted by the teamwork multiplier)
    • Short activities (Engineering Design Process Document, etc) 20%
    • Project Proposal 25%
    • Preliminary Design Document 20%
    • Presentations 15%

476:

  • Individual 60%
    • Professionalism 10%
    • Individual technical report 50%
  • Teamwork 40%
    • Effective use of agile process 10%
    • Beta release 15%
    • Final release 15%

The above breakdown is a starting place. The actual breakdown will be equitable and in proportion to the load expected for each activity.

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.

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.

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

Leave a Reply