Request for Problems

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 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. We also support projects that require non-disclosure agreements.

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 are accepted on a rolling basis through early August. 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 the first class of the semester. During the first two weeks 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.

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 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. Our standard NDA agreement can be found at the bottom of Engineering Corporate Relations page.

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.

Funding

The Computer Science and Engineering department sponsorship fee (if applicable) varies according to the needs of the project and the resources of the sponsor. Sponsorship helps to support the department and associated resources, material, and any equipment needs beyond those currently available within the department (e.g., standard computing resources and software) and along with any required student and faculty travel.

Guidelines for Scoping a Computer Science Senior Design Project

An ideal project for computer science senior design describes a compelling problem that can be solved through a primarily software-based solution where no obvious solution currently exists. Project proposals should focus on the problem that needs to be solved and not suggest specific solutions or approaches. Student teams will work with your consultation to develop and propose a specific solution to your specific problem. Projects should have a well-defined goal and be solvable in 2- 6 months of full-time work for a single entry-level software engineer. Given a solution, it should be easy to assess if the problem is solved. Open-ended and research projects where a solution may or may not exist are discouraged (but not prohibited). Projects should not already have a commercially available solution. For example, implementing a database to record orders can already be solved by existing commercial solutions and does not make a compelling senior design project. Similarly, simple tasks like updating or creating a basic website are not suitable for senior design projects.

Sample Project Short Descriptions

  • The goal of this project is to create an application similar to “Duolingo”, but for medical education. Similar to learning a language, much of medical education involves repetition of concepts over years until it becomes second nature. Many physicians and other healthcare professionals use various books, question banks, and journal articles to keep refreshing their knowledge. These methods are tedious, boring, and require lots of dedicated time. This new interactive application will include an algorithm that will proactively deliver medical concepts in the form of simple questions and puzzles to the physicians and students at random times during the day. The system will keep track of their progress based on their specialty and show stats from other users of the same specialty.
  • Many swimming pools are maintained by their owners or operators rather than by professional service companies. Actions being taken to address water clarity and water chemical composition are generally done on a ‘reactive’  rather than a ‘proactive’ basis. By the time the ‘reaction’ takes place, the water has often started to become ‘out of control’ and the amount of chemicals required to bring it back, can be extreme. The solution would most likely comprise a smart device App that would interpret chemical data and present it to the user in a format that they could easily understand. This will require a significant effort on the part of the team to gather existing data and present it in a format that allows the user to maintain a clean and safe pool environment. There are 5 million in ground and 3 million above ground residential pools in the United States alone. The vast majority of these pools do not have an affordable solution to address this problem.
  • Production line scheduling is currently done “by hand” using a report that shows items needed by production line, product, and date.  This is a labor-intensive process and not one that I believe is done efficiently. We need a tool to help develop daily production schedules for 3 lines based on orders in house. A more in-depth phase would be to use in-house orders and historical data to produce schedules.
  • When equipment is working in multi-story buildings and no cell connection is reliably available, there is a need to locate the equipment, often equipment that has no standard onboard power source. The project would be to develop a solution to this challenge, using a suitable technology. The technology would require a piece of equipment to be fitted with a ‘device’ that would have sufficient independence to allow a minimum of three years of service at an acceptable cost. It is assumed that the on-machine ‘device’ will interact with a ‘receiver’ of some sort, in order to provide a location to a minimum accuracy of a specific floor and ‘zone’.

Posted

in

by

Tags: