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 Jackie Dziadosz, jd081@bucknell.edu, Experiential Learning Coordinator, 570-577-2193 to begin the process.
Resources
- Course schedule
- Google Classroom
Syllabus
The Senior Design course sequence in Computer Science is a capstone experience designed to bridge the gap between academic learning and professional practice. Its primary objective is to facilitate your transition from a student to a skilled professional in the field.
Overview
In this year-long project, you’ll work in teams to simulate a tech startup or an independent contracting group. Your mission: conceptualize, develop, and launch an original product or service. This immersive experience will:
- Challenge you to apply your cumulative computer science knowledge
- Encourage independent learning and problem-solving
- Provide hands-on experience in product development and project management
- Expose you to the dynamics of teamwork in a professional setting
Throughout the course, you’ll engage in:
- Collaborative problem-solving
- Iterative design and development processes
- Professional communication and presentation
- Time and resource management
Our Expectations:
- Demonstrate professionalism in all aspects of your work
- Embrace challenges and seek innovative solutions
- Actively contribute to your team’s success
- Reflect on and incorporate feedback
- Take initiative in your learning and skill development
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 and entrepreneurship:
- Creativity and innovation
- Coping with and overcoming failure
- Managing day-to-day affairs
- Dealing with constraints (financial, technical, and managerial)
- Ethics in software development
- Sustainable and responsible computing practices
- Cross-cultural communication (for global development teams)
- Version control and collaborative development tools
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: 0.5 credits Expected weekly engagement: 6 hours
- CSCI 476: 1.0 credits Expected weekly engagement: 12 hours
What constitutes academic engagement:
- Classroom lectures and discussions
- Team meetings and collaborative work
- Individual research and development
- Project planning and documentation
- Prototype development and testing
- Presentations and critiques
- Consultations with faculty and mentors
- Professional skill development activities
We encourage you to manage your time effectively, balancing the demands of this course sequence with your other academic and personal commitments. The intensive nature of these courses reflects their importance in your transition to professional practice.
Remember: The time you invest in these courses directly correlates with the quality of your final project and the depth of your learning experience. Embrace this opportunity to immerse yourself in the software development process and emerge ready for the challenges of your future career.
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.
As an aspiring computer scientist, you are expected to demonstrate professional behavior throughout this course. This experience serves as a bridge to your future career, and as such, we hold you to high standards of professionalism.
Key Professional Behaviors:
- Punctuality and attendance
- Preparedness for all activities
- Active participation in team meetings and class sessions
- Respectful communication with classmates, instructors, mentors, and clients
- Equal contribution to team workload
- Timely submission of assignments
- Academic integrity and original work
- Focused engagement during class
Impact on Your Grade:
- Professional conduct is a significant component of your overall evaluation
- Consistent professional behavior can positively influence your final grade
- Unprofessional conduct can substantially lower your grade without limit
Guidance and Support:
- Instructors and mentors are here to guide you towards excellence
- We encourage open dialogue about professional expectations
- Feel free to discuss any concerns or questions with the instructional team
Academic Integrity:
- We adhere strictly to University policies on academic honesty and plagiarism
- As seniors, you are expected to be familiar with these policies
- We strongly recommend reviewing these policies to ensure full compliance
Remember: This course is an opportunity to showcase your readiness for the professional world. Embrace these expectations as a chance to develop and demonstrate the behaviors that will set you apart in your future career.
We are committed to your success and look forward to seeing you excel both academically and professionally throughout this course.
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.)
Use of AI
In this course, the use of Artificial Intelligence (AI) tools and resources is encouraged to enhance learning and understanding. However, students must use these tools ethically and responsibly. AI can be a powerful aid in coding, debugging, and conceptual understanding, but it should not be a substitute for personal effort and academic integrity. AI tools will not be available for exams, including the final.
Guidelines for the ethical use of AI tools and resources:
- Academic Integrity: Any work submitted must be the student’s own. While AI can assist in learning and problem-solving, all submitted work should reflect individual effort. Plagiarism or reliance on AI to complete assignments without proper understanding will not be tolerated and may result in disciplinary action.
- Proper Attribution: When AI tools are used, proper attribution must be given. If AI resources provide specific code snippets, solutions, or significant assistance, this should be clearly noted in the submission, including the prompts used.
- Learning Enhancement: AI can be a valuable tool for exploring new concepts, generating ideas, and improving coding skills. Students are encouraged to use AI to experiment and learn, but they should also strive to understand the underlying principles and logic behind the AI-generated content.
- Limitations of AI: Students should be aware that AI tools have limitations and may not always provide accurate or optimal solutions. Critical thinking and independent verification of AI-generated content are essential to ensure correctness and understanding.
- Written Work: AI tools may be used to create drafts and revise written work. However, AI-generated text should not be used verbatim. Students must critically review, edit, and revise any AI-generated content to ensure it is accurate, coherent, and aligns with the assignment requirements. The final submission should reflect the student’s own understanding and effort. Using AI-generated text without proper revision or personal contribution is unacceptable and will be considered a violation of academic integrity.
By adhering to these guidelines, students can effectively incorporate AI into their learning process while maintaining the integrity and rigor of their education.
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.
Suggested Reading
We will not be using a textbook in this course,but below is a list of 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.
- Incerto: Fooled by Randomness, The Black Swan, The Bed of Procrustes, Antifragile, Skin in the Game, 2021, ISBN 978-0593243657.
- 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.
- The Power of Habit: Why We Do What We Do in Life and Business by Charles Duhigg, 2014, ISBN 978-0812981605.
- 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
- We have 3-hours per week scheduled for the course. However, we will not be using all of these meeting times as a class. These 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 received one letter grade per week late penalty up to a maximum of three weeks. After this time, the grade will be a zero.
- 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.