Course Overview
Course Description
Content
The senior capstone project provides the student an independent and collaborative software development experience with a significant project. The course introduces aspects of project management, requirements analysis, and the software lifecycle, but will primarily be concerned with the practical integration of core theories, practices, and ethics of the discipline. Writing and speaking communication skills are reinforced.
Background
In this course, the instructor plays the role of a hiring manager deciding which interns to recommend for hire. You will play the role of an intern given great flexibility in proposing a project. You will be graded on your ability to propose and complete a project of your choosing. Your grade will be determined by the quality of the project you complete, your persuasive ability to propose a project that the hiring manager approves, your ability to set goals and achieve them, and your ability to make steady progress that reassures the hiring manager that you will complete your project successfully.
Motivation
This course offers you a chance to show off the skills you've learned in your undergraduate coursework and personal experience. To me, a key ingredient is that you find a project that you find personally meaningful and motivating. It's also important that you build on your training and experience so that you have a high degree of confidence that you can complete your proposed work. That said, you can include learning objectives in your proposal to indicate skills/technologies that you want to learn in order to complete the project. In addition to demonstrating computer science skill, your project must potentially be useful to someone other than yourself. The user might be hypothetical but you must at least make the case that someone else could use/benefit from your project. The majority of your grade will be determined by the quality of the project you complete but you will receive regular feedback on your progress.
Structure
In the first week, we discuss expectations for the class and setting on teams/projects. The second week you produce a successful project proposal. From there, you work on your project during the 3-hours class sessions. You submit status updates and meet with me individually to discuss your individual progress every two weeks of class. The final week of class you submit your project including a report, code, data and everything necessary to document it. We will use two final examination times for you to present your project to the class.
Objectives
- propose a project that provides enough detail and previous experience to convice the hiring manager that you can complete it successfully;
- identify biweekly plans and make steady progress toward your goals;
- demonstrate learning by submitting inquiry reports and demonstrations;
- when obstacles appear, find a way around/through them that does not diminish the quality of the project;
- demonstrate strong communication skills through written reports, presentations, and team skills; and
- complete the project successfully so that the hiring manager can recommend you with confidence.
Instructor Information
Biography
Dr. Parry grew up in Indiana, went to college at Univ. of Virginia, and graduate school
at Georgia Tech. His research interests include artificial intelligence, date mining, and
visualization, especially applied to music, sports, and education. He prefers teaching and learning when it can be motivated by
challenging and interesting problems.
Course Requirements
Materials
Required
- Can-do attitude!
Resources
- Project Management
- Web Frameworks
- Online Courses
- Web Scraping Resources
Assignments
Proposal
You will follow the provided template to propose a project, including a brief description, teamwork plan, previous preparation, learning objectives, risk assessment, and your initial plan.
Status Updates
Every two weeks you will individually submit a status update, including updated plan, learning objectives, inquiry report(s), and demonstrations.
Final Report and Presentations
In the final week of class you will submit a final project report, including the final executed timeline; demonstrated learning through inquiry, coursework, and demonstrations; and final working software demonstration for your project.
Grading & Policies
Course Policies
Student Responsibilities
Attendance is mandatory; absences will deduct 3% from the final grade. Students are expected to participate enthusiastically,
work together to understand the material, and encourage each other. Students with similar technical challenges may learn together even if on different teams. Students are expected to seek out appropriate resources to aid in the completion of their project. However, all resources must be cited appropriately in status updates and the final report. Never present someone else's work as your own, and always give credit to your resources, including people.
Instructor Responsibilities
I will discuss this class during the regularly scheduled class times, office hours, and over email. If you need to meet outside
the regular times, email me to set up an appointment. I really do want this class to succeed. So, please send me your comments,
positive or negative, that will help improve the course.
Student Engagement
In its mission statement, Appalachian State University aims at "providing undergraduate students a rigorous liberal
education that emphasizes transferable skills and preparation for professional careers" as well as "maintaining a
faculty whose members serve as excellent teachers and scholarly mentors for their students." Such rigor means that the
foremost activity of Appalachian students is an intense engagement with their courses. In practical terms, students should
expect to spend two to three hours of studying for every hour of class time. Hence, a fifteen hour academic load might
reasonably require between 30 and 45 hours per week of out-of-class work. Since our class is a 3-hour class, you should expect
to spend at least 9 hours per week outside of class. Because programming can be more time-consuming than
studying things in other disciplines, that amount of time should be considered a minimum.
ASU Academic Integrity Statement
As a community of learners at Appalachian State University, we must create an atmosphere of honesty, fairness, and
responsibility, without which we cannot earn the trust and respect of each other. Furthermore, we recognize that academic
dishonesty detracts from the value of an Appalachian degree. Therefore, we shall not tolerate lying, cheating, or stealing in
any form and will oppose any instance of academic dishonesty. Students attending ASU agree to abide by the following Code:
- Students will not lie, cheat, or steal to gain academic advantage.
- Students will oppose every instance of academic dishonesty.
Academic Integrity
This class emphasizes using computer science to solve problems in music informatics. You will be solely responsible for
building software that does cool things. However, you are not expected to do this from scratch. You may use existing libraries,
open-source code, code that you've used for other classes to solve problems in this class. However, you must give credit
everywhere it is due. I want you to reflect on your process for solving problems and how you find the resources you need. What
are the key bits of information that made it "click" for you? When you present your work it is equally important to
acknowledge the resources you used to accomplish it. One could argue that the most important part of this class is learning how
to learn on your own. This is the skill that you will take with you.
Grading
- Each status update will be worth the same amount.
- The final grade will determined using the following point system:
-
Category Points Project Proposal 10 Status Reports (6) 15 Final Project 75 Total 100
- All grades will be posted to ASULearn.
- The maximum percentage required to earn each letter grade is shown below:
GradePercentage RequiredA 93 A- 90 B+ 87 B 83 B- 80 C+ 77 C 73 C- 70 D+ 67 D 63 D- 60 F below 60 Calendar
The official sequence of class activities is maintained on ASULearn.