The Department of Computer Science at Bucknell University invites partners in academia and industry to submit problems on which student teams may work for their culminating experiences. The length of the projects will be two semesters for CSCI 475/476, which is primarily for Computer Science and Engineering students in the College of Engineering, and one semester for CSCI 479, which is for Computer Science students in the College of Arts and Sciences.

Senior design is the final culminating experience for our students. It provides a transition experience from academia to the engineering profession. Your projects provide an opportunity for a realistic design experience where students can apply their software engineering knowledge, develop new engineering and design skills, experience working independently with clients, and develop their professional identity.

The information below will give you background knowledge of Senior Design and our students, and guide you through the form completion process to submit your proposal. Proposals will be accepted on a rolling basis up until Wednesday, August 16. Submissions will be reviewed as they are received and will likely require further discussion to determine scope and feasibility prior to selection.

Problems will be shared with student teams during their first class on Monday, August 21, 2017. During the first month of the course, students will explore the entire set of potential projects. Teams will select the proposals that are best aligned with their interests and skill sets. You may be contacted by teams to help them determine the scope of the project during this time.

Please use this form to submit projects. Contact the instructor below for clarifications. Thank you for your consideration.

Best regards,
CSCI 475/476
Prof. Alan Marchiori
Email: amm042@bucknell.edu
Office: 570-577-1751

CSCI 479
Prof. Evan Peck
Email: evan.peck@bucknell.edu
Office: 570-577-2345

Background

The CSCI senior design experience gives students the opportunity to carry a project from conceptualization to a complete deliverable prototype for a client. Working in teams of 3 or 4 members, with frequent interactions with the client, students traverse the complete software development cycle.

CSCI 475/476 is a two-semester culminating experience for Computer Science and Engineering students in the College of Engineering. In the fall, the weekly workload includes 2 hours of instructional time and up to 6 hours of work outside of class. Teams start their work by developing the understanding necessary to tackle large-scale software engineering problems. They select a small subset of problems that are of interest to the team, and identify three possible solutions for each, ranking them according to criteria, goals and constraints. Ultimately, every team selects one project, selects the most appropriate solution, and develops an “investor pitch.” The pitch includes a persuasive proposal and presentation, with the idea that their pitch could be presented to angel investors and venture capitalists to obtain funding. Once the proposal is completed, teams start working on the design and implementation of their solutions. In the spring, the workload includes 3 hours of classroom contact plus 9 hours outside of class, in which they focus solely on the implementation of their solution, with regular client interaction expected through the duration of the project.

CSCI 479 is a one-semester culminating experience for Computer Science students in the College of Arts and Sciences. This is a one-credit course. Student teams work to design, test, and implement a software solution to a problem presented by a client. Like CSCI 475/476, teams go through the process of identifying projects, studying alternate solutions, and implementing one that best fits the interest of the client and the skill set of the students. The steps that the teams go through are similar to those in CSCI 475/476 but less elaborate in a much more constrained time frame.

Concurrently, in our class time, teams explore topics including software engineering and design, intellectual property and licensing, failure models and effect analysis. Typically, the class invites professionals who are interested in talking about some of these topics.

Teams follow agile development methods as they design and implement a solution. It is essential that teams and clients interact on a regular basis (using whatever means appropriate for the client) to obtain feedback on the evolving work. Additionally, teams use classroom time to report their progress to the class and to the instructor. The implementation activities include the elaboration and application of a test plan for the teamsʼ products (and possibly the use of automated test frameworks, whenever applicable). The Senior Design experience culminates with public technical presentations at the end of the semester and with the delivery of the teams’ products, supporting documentation (developer and user manuals), and a final report.

Resources and Intellectual Property

Student teams will have access to state-of-the-art computing resources available at Bucknell University. In case a project requires the use of proprietary hardware, software, or data, the Department will work with partners to investigate how to meet the project’s needs.

Students in this class are prepared to work under the terms of non-disclosure and/or licensing agreements for that may be requested by our partners. We ask that partners communicate their needs for these types of agreements at the time they submit their problems to the instructor.

About our Student Teams

The majority of the students in Computer Science Senior Design will have completed coursework on the fundamentals of the discipline, in basic engineering, in mathematics, and in natural sciences. This includes:

• Calculus (three courses), differential equations, discrete math, statistics and probability theory, physics (two courses), chemistry;
• Introduction to engineering, foundations of electrical engineering, digital electronics;
• Computational thinking, programming in different language paradigms, algorithms and data structures, computer organization, operating systems, and computer ethics.

Students will often have taken computer science electives such as web information retrieval, data mining, databases, networks, security, graphics, compilers, and analysis of algorithms. It is common for students to work quickly to become conversant with new programming languages and technologies that are required in their projects. In summary, our students have received good preparation to contribute to our partnersʼ interests and expect that Senior Design teams are highly likely to deliver.

Your Responsibility as a Client

The primary mission of the Senior Design experience is to foster the studentsʼ development into capable, responsible professionals. The collaboration with external partners in Senior Design projects is of immense value in achieving this goal. At the same time, we expect that our students will be able to contribute to the advancement of our partnersʼ interests by testing out ideas and/or developing product prototypes.

To provide the best conditions for our studentsʼ learning experiences and to enable the successful completion of our partnersʼ projects, frequent interactions between client and team are essential. We strongly encourage our partners to communicate with teams in person or using the best means of teleconferencing available. Although these communications are to be expected at the stages of project kickoff and at each design/development milestone, we encourage weekly interactions, whenever possible. Additionally, we encourage class visits to those partners who are interested and will consider invitations to site visits.