There will be a modest group project and a modest individual project.
Group Project
The goals of CS x265 group projects are to further exercise you in database concepts in more realistic, holistic contexts; and to address selected characteristics that the Vanderbilt School of Engineering want graduates of Computer Engineering and Computer Science programs to possess (See Codes, particularly ABET Criteria).
In class, we will be doing exercises with a number of sample projects prior to Spring Break. You will be doing an original group project (see below), that will be submitted just before Spring break.
You will be assigned to groups for project work in week 5. A project will be of each group’s own specification and design, drawn from one of these broad areas:
- Experience portfolios, which can include experiential records along different thematic lines, as diverse as travel to formal coursework, informal learning accomplishments (e.g., open, online courses), volunteer/work/internship experience, resumes, and samples of notable projects;
- Health records, which can range from personal health records to institutional health records, which can include health-related behavior tracking (e.g., exercise, meals), perhaps special readings (e.g., blood glucose, blood pressure), medication schedules, and physician visits;
- Entertainment and Leisure, which can be in areas of music, movies, gaming, art, and athletics, with records on stated and unstated preferences (e.g., through viewing, purchasing, playing, and other analog behaviors that are appropriate to the domain);
- Sustainability and Ecology, which can range from wildlife monitoring applications, backpacking, tree tours, public and private transportation (e.g., ride-sharing and routing), and recycling (but should probably avoid energy and water monitoring as we deal with this in one of our sample projects, unless you can imagine creative ways of expanding this theme, such as through social networking).
If you are really excited above some idea that is outside the realm of one of these broad areas, then be prepared to make a strong pitch to me in Week 6. I can imagine some areas, like travel, could fall under multiple areas (eg., experience portfolios, entertainment and leisure, sustainability and ecology).
We will not be significantly weighting any additional front-end interface that you create (e.g., a Web or mobile interface), but obviously, such an application front-end can be incredibly cool, and you will definitely have to be thinking very specifically about the application-layer in designing your DB, but save the front-end for later or on your own.
The focus of your database specifications can be on individual-level data, on institutional-level data, on regional/national/world level data, or some span of these granular levels. You will be submitting a DB specification in week 6 . Conceptual designs will be due in week 7, and the final group project will be submitted in week 8. This timeline is compressed, and the projects will be scoped accordingly.
I will ask for individual assessments of group dynamics at the end of week 7. If there are issues with a group member’s participation, I may spin off that individual to their own singleton group or another group.
You will use SQLite for your implementations.
Individual Programming Project
In the last two weeks of the semester you will complete an individual programming project on data mining. We will use Python 3 for the implementation of a data mining program that discovers functional dependencies in a set of data.