CS 49901 Capstone Project
Department of Computer Science
Class Room: MSB 276
Prerequisites: CS33006, CS 43901,
Instructor: Dr. Jonathan I. Maletic
Office Hours: -3:00MW
Office: 218 MCS
The course is an integrative experience that brings together all components of the undergraduate computer science curriculum in an applied, hands-on real world setting. The course is a bridge between the academic experience and the professional workplace. The objectives of the Capstone Project course are to give the student the experience of: 1) being involved in building a non-trivial, real-world (like), software development project; 2) working with other developers in a team environment; 3) building a graphical user interface; 4) integrating knowledge of topics such as operating systems, networks, database, and software engineering within a team-project framework.
· None required
· Recommended: Object-Oriented Software Engineering 2nd Edition, Bruegge & Dutoit
· The students will be given a list of outside readings from the Computer Science literature. These may include readings from the Communications of the ACM, IEEE Software, IEEE Computer, classic textbooks, etc.
· Object Oriented Design, Analysis, and Programming
· Software tools and environments
· Software requirements and specifications
· Software project management
· Software team management and communication
· Document management
· Using APIs
· Event driven programming
· Foundations of human computer interaction
· Building a simple graphical user interface
The course will be a mix of lecture, invited lectures, student project status report presentations, and student team meetings. The course will be project based, with students organized into teams of three or more. These student teams will be given the assignment of developing a non-trivial software system.
Approximately 20 (of 45) contact hours will be comprised of formal lecture on the topics of team organization and management, project management, requirements elicitation, and developing graphic user interfaces. Additionally, lectures on software/environment tools and using specific APIs/components will be included. External and internal guest lecturers will be organized to fulfill the integrative and real world aspects. If the project is one derived from a local external organization, presentations regarding the project requirements will be appropriate.
The remainder of contact hours will consist of student/team project status reports and final project presentations. In addition, class time will be allocated for student team meetings and organization.
The project is an integrative experience that combines key material from multiple courses in the computer science curriculum. Ideally, the project will have database, networking, operating system, GUI, and general software engineering aspects. The project should include the use of development tools (e.g., version control tools, IDE, etc.) and software libraries, APIs, COTS, or other types of reusable software components. Additionally the project will be:
· Real world (like) and non-trivial in size ( lines of code) – it should be large enough that a single person will have a very difficult time to complete in a one term
· Deadline driven with multiple work products produced and evaluated
· Developed by a team of students – the teams will be 3 or more students, preferably 4 to 5 students
· Constructed to include a (graphical) user interface – a window based, event driven interface will be used
· Project 50%, Presentations 30%, Class participation 10%, Final Exam 10%
· Scale: A: 100-90, B: 89-80, C: 79-70, D: 69-60, F: 59- 0
· Lecture is the student’s responsibility, if class is missed; it is in the students best interests to get the notes from a fellow student.
· Any modifications to the syllabus will be made on the course URL.
· Please turn off all wireless phones, beepers, pagers, radios, the sound on all laptops and PDAs, and any other noise making devises.
Copying or plagiarism of any type will not be tolerated and will be
dealt with in accordance to
accommodations for students with disabilities: In accordance with the
University policy, if you have a documented disability and require
accommodations to obtain equal access in this course, please contact the
instructor at the beginning of the semester or when given an assignment for
which an accommodation is required.
Students with disabilities should verify their eligibility through the
Office of Student Disability Services (SDS) in