Computer Science and Engineering seniors work with industry, community, and faculty partners to build software solutions to achieve compelling results for their clients.
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 Logan Osgood-Zimmerman, ljoz001@bucknell.edu, Manager of Engineering Industry Partnerships, 570-577-3707 to begin the process.
Resources
- Course schedule and materials available on Moodle.
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 a start-up company or a 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, fun, and exciting directions, preparing you for your professional life beyond the classroom.
Student Learning Outcomes (with ABET mappings)
- Students will be able to apply the Engineering Design Process in the context of the team development of a software system. (ABET EAC/CAC 1, 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 EAC/CAC 3, 4)
- 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 EAC/CAC 1, 2, 3)
- Students will be able to work effectively in a project team. (ABET EAC/CAC 5)
- Students will be able to apply a software development process toward the design, implementation, and delivery of a product. (ABET EAC/CAC 1, 2, 4, EAC 7)
- Students will be able to create and deliver technical document(s) and oral presentation(s) about the project. (ABET EAC/CAC 3)
NOTE:
CSCI 475 directly assess EAC+CAC 1, 2, 3.
CSCI 476 directly assess EAC+CAC 3, 4, 5, and EAC 7
Topics
- Engineering Design Process.
- SCRUM and agile development methodologies.
- Soft skills for the software engineer.
- Technical writing skills.
- Oral presentation skills.
- Effective teamwork.
- Design for the user experience.
- Customer involvement and satisfaction.
- Software failure modes and effects analysis.
- Legal exposures and considerations for software developers.
- Intellectual property: Patents, copyrights, trademarks, and service marks.
- 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. CSCI 475 is 0.5 credits and CSCI 476 is 1.0 credits.
Professionalism
You are expected to behave as a professional software engineer. For many of you, this course may be one of your first professional experiences. Unprofessional behaviors exhibited count against your final grade, and there is no lower limit as to how much these behaviors can lower your grade. Observed behaviors such as arriving late, leaving early, being unprepared for group assignments, not showing up to team meetings, disrespectful behavior of any kind toward any person in class or the client, allowing others in your team to carry disproportionate work loads, missing class, texting, 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(s) and team mentor(s) 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 instructor(s) 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 significant 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:
- Writing instruction.
- Support of the writing process.
- Teaching of the techniques of writing needed or expected in the discipline.
- Frequent and substantial writing.
- The use of writing assignments to teach the subject matter.
Text and other resources
A variety of reading is completed throughout the course, especially in the early weeks as we develop and solidify your foundation as a professional software engineer. All material will be included and linked in the course website, with most availbel through the campus subscription to O’Reilly Media. To access these books, be sure to log in with your Bucknell e-mail address.
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.
- Humble Pi: A Comedy of Maths Errors by Matt Parker, 2019, ISBN 9780241360194. Also check out his YouTube channel.
- Measure What Matters: How Google, Bono, and the Gates Foundation Rock the World with OKRs by John Doerr, 2017, ISBN 9780525538349.
- Soft Skills The software developer’s life manual by John Z. Sonmez, December 2014, ISBN 9781617292392. (audiobook).
- The 4-Hour Workweek: Escape 9-5, Live Anywhere, and Join the New Rich by Timothy Ferriss, December 2009, ISBN 9780307465351. (audiobook).
- Deep Work: Rules for Focused Success in a Distracted World by Cal Newport, January 5, 2016, ISBN 978-1455586691.
Policies
- MWF 2-2:50 pm and T 1-2:50 pm are all reserved time slots for the course. However, we do not expect to have a formal lecture during every one of these time slots every week. The times are reserved to ensure that you have times when you will be guaranteed that your entire team and your mentor will be available to work together on your project and to provide time for you to meet with your mentor.
- Attendance is mandatory. The instructor will keep attendance records, and poor attendance will have a negative impact on students’ grades, as it is a poor reflection of your professionalism. If you have to be absent for good reasons, such as job interviews, athletic competitions, or a performance, you are responsible for letting the instructor know at least 24 hours 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 to circumstances beyond your control, an appropriate written justification is required (e.g.doctor’s note or dean’s note), and you must make up for all missed work within a reasonable time.
- Your full participation in class activities will impact your grade. Failure to be an equal team player is a poor reflection of your professionalism.
- There will be individual and team assignments. Unless you’re told otherwise, assume that assignments are to be submitted at the beginning of the lecture on the due date. Assignments turned in late will incur 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 to 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
- Increments (iterative releases delivered to client)
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:
- I will not lie, cheat, or steal in my academic endeavors.
- I will forthrightly oppose each and every instance of academic dishonesty.
- 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.
- I will let my conscience guide my decision to report 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.