Course Overview
Course Description
Note: This course is 100% online.Content
The 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 and a partner will work together as "interns" and be given flexibility in proposing a project. Your team will define, design, develop, and deliver a substantial software project. Unlike most classes, the main learning objectives will be defined and completed by you in pursuit of your project. I provide feedback and guidance to help you achieve your goals, and evaluate your progress.
Motivation
This course offers you a chance to learn new skills and solve new problems while building a significant software product. It differs from a typical class in that there will not be tests or assignments designed to assess your knowledge of the material. Instead, you will learn independently and demonstrate your new knowledge by producing project artifacts such as program demos, design documents, figures, tables, and anything else you can use to convey progress toward your objectives. Each week, you will be intentional about how you spend your time, making sure the most important tasks (those most likely to prevent the completion of the project) are performed first.
Structure
The first two weeks will be devoted to proposing and planning the project. On a typical week, you will report how you spent your time, update your plan, and meet with me to demonstrate your completed tasks. I will provide feedback and guidance. There will be a midterm progress presentation, end of class project demonstration, and a project defense during exam week.
Objectives
- Propose a project in enough detail to convice the instructor that you can complete it successfully;
- Maintain a prioritized list of tasks, estimated effort remaining, and make steady progress toward your goals;
- Provide demonstrations of completed tasks that are embedded in your project;
- When obstacles appear, find a way around/through them that does not diminish the quality of the project;
- Communicate clearly and work effectively as a team; 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
- Reliable internet connection
- Webcam and microphone
- Flipgrid (Flipgrid privacy policy)
- VoiceThread (VoiceThread privacy policy)
- Can-do attitude!
Resources
- Project Management
- Web Frameworks
- Online Courses
- Web Scraping Resources
Assignments
Project Topic
You will pitch project ideas, comment on other project ideas, and find a partner.
Project Proposal
You and a partner will propose a project, including what experience you're building on and what you will need to learn.
Feature Definitions
You will break down your project into a list of features and how a user of your product could verify them.
Burndown Charts
These charts document weekly effort, track and prioritize the list of tasks, and estimate future effort.
Weekly update meetings
Every week you will meet with me to discuss your progress and provide evidence of completed tasks
Midterm Presentation
You will present to the class your progress so far and your plan for the remainder of the semester.
Project Demonstration
You will demo your project to the class by the last day of class.
Final Report and Defense
You will write a final report that documents the features you implemented, the evidence of their completion, and inludes your working source code. During the final exam period, you will meet individually with the hiring manager for a technical interview about your project.
Grading & Policies
Course Policies
Student Responsibilities
Each week we will use the class time for dedicated project work. You will use your reliable internet connection and webcam to demonstrate your presence during these times. Attendance is mandatory and unexcused absences will deduct 3% from the final grade.
Students are expected to participate enthusiastically, work together to learn, 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 weekly 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 be available for questions/help 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. Since this is a 3-hour class, you can expect to average 9-12 hours per week for this class.
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
In this class you will develop a substantial software project. 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. One could argue that the most important part of this class is learning how to learn on your own. That includes recognizing and attributing good resources.
Public Sharing of Course Materials
All course materials, including video, may be subject to intellectual property protections under applicable law and regulation and are for the sole use of students enrolled in this class. Students do not have permission to copy or record materials except for personal use in the context of this class and students do not have permission to share any class materials, including videos, in any manner on any platform without the prior express permission of the faculty member teaching this course.
Grading
- All grades will be posted to ASULearn.
- The final score will determined using the following percentages:
-
Category Percent Homework Assignments (about 5) 10% Proposal and Feature Definitions 10% Weekly updates (about 10) 20% Midterm progress and presentation 12% Final demonstration 16% Final report and defense 32% Total 100%
-
The maximum percentage required to earn each letter grade is shown below. Notice that it is very unlikely to pass the class with a grade lower than C-.
GradePercentage Required
A 93 A- 90 B+ 87 B 83 B- 80 C+ 77 C 73 C- 70 D+ 69 D 68 D- 67 F < 67
Calendar
The official sequence of class activities is maintained on ASULearn.