capstone project in computer science

varshankar1221
Syllabus690.pdf

Syllabus

COEN485 & 497 Software Engineering Capstone Projects and Master Thesis Research

Department of Computer Engineering Santa Clara University

Dr. Ming-Hwa Wang Fall Quarter 2018 Phone: (408) 805-4175 Email address: mwang2@cse.scu.edu Course website: http://www.cse.scu.edu/~mwang2/capstone/ Office Hours: Friday 9:30-10:00pm Course Description The capstone project is a report, analysis, project, or program, submitted by a graduate student. It is designed to demonstrate the in-depth learning and higher- order-thinking of the student. It is meant to be an analysis of knowledge, breaking information down according to the analytical strength of the student’s thinking as well as synthesis of knowledge and assembling the parts into a new coherent whole. Prerequisites Department chair approval and completion of 27 units of the MSCS program. Expected Learning Outcomes 1. Demonstrate understanding of professional customs and practices; as well as,

specific terminology 2. Use creative and critical thinking skills and knowledge of Computer Science to

effectively contribute to a problem-solving team 3. Ability to distribute work areas in a problem-solving team according to individual

interest and capabilities 4. Perform professionally – exhibiting integrity, accepting responsibility, taking

initiative, and providing leadership necessary to ensure project success 5. Utilize prior knowledge, independent research, published information, patents,

and original ideas in addressing problems and generating solutions Capstone Project and Master’s Thesis A capstone is the summative component of the master’s degree program submitted by a graduate student. The Capstone Project is designed to demonstrate the in-depth learning and higher-order thinking of the student. It is meant to be an analysis of knowledge, breaking the information down into its component parts, and also the synthesis of new knowledge, assembling the parts into a new coherent whole. The capstone is also meant to be practical and useful. The student should choose an area that is uniquely and personally important and research or perform a project in that

area. The Capstone Project is performed by arrangement with the project advisor. The student must conduct independent research in an approved topic in software engineering, prepare a report and defend it before a faculty advisor. In the Capstone (Capstone Project or Master’s Thesis) students apply what they have learned throughout the program to examine and implement some specific idea. In Computer Science such work will consist of implementing an application or an algorithmic idea and will involve design and coding. The Capstone work can be delivered by an individual student, but preferably by a small group of 2-3 students. The Capstone can cover basically an infinite variety of topics, but should always cover more than half of the PLOs. Capstone Project – 3 credit units: Implementing an application that brings to the user more productivity or more convenience than other applications in that area and whose implementation requires using the learned skills and knowledge from the program. Such a project will result in a deployment ready application, with a user interface description, directions for use, and code with documentation. As a rough estimate, the size of such an application should reflect the equivalent of about 50-100 hours of programming work per participating student. Master’s Thesis – 6 credit units: Discovering and implementing an algorithmic improvement in some algorithm-based computation like data compression, web searching, storage access, numerical analysis, or the like which, like above, requires usage of the learned skills and knowledge acquired in the program. Such a project will result in an addition to the CS body of knowledge, implemented in well documented code and explained with the necessary rigor to allow others its use in the intended way. There is no size requirement for this type of project, since its value is judged by the professor with respect to its innovative significance. 1. week Work on the Capstone starts by discussing the idea with the professor teaching the capstone. If the professor deems it worthwhile as presented, the students will proceed as described below. Otherwise the professor can decide that the capstone proposal is not worth pursuing or will suggest some changes or some additions. After these have been discussed and clarified with the students, the group can proceed as described below: 2. week If the Capstone consists of developing an application the students will develop a clear requirements specification and description of the project.

If it is an algorithmic improvement, the students will work out the run time order estimation, which is always an essential attribute of any algorithm and a precise description of the algorithms application area and constraints on its use. The professor will approve or request changes to the requirements specification or algorithmic design. 3. week The students in the group work out the plans of a) how to proceed with the implementation b) how to distribute the work c) what data and information to gather d) what programming language to use e) what APIs to use if any f) how to test g) how to fix bugs h) how to improve These plans are submitted to the professor and follow up meetings are arranged. During these meetings interim results will be presented. 4. to 9. week Continuing work on the Capstone according to the above plan. Students are encouraged to meet weekly with the professor to discuss interim results and get feedback and suggestions from the professor. 10. week Midterm meeting with the professor, in which students and professor assess the achieved progress. The professor will at this point give necessary guidance to the students to facilitate the success of the Capstone, avoid distractions into unnecessary ramifications and encourage concentration on the essential. 11. to 12. week During these weeks students continue to present interim results to the professor and get feedback and suggestions. The coding work should in this time span come to a conclusion and testing and bug fixing should set in. Work on the Capstone description should start. 13. week Complete testing, begin the final description including guidance from the professor. 14. week Submittal of the final write-up, including runnable code. 15. week Capstone Project: Every group presents their project to the rest of the class, and every student of the group is required to participate in the presentation. Every student turns in a 360° written assessment (self plus others in the group) of their role in the group. The professor assesses the students’ level of compliance with the Program Learning Outcomes.

Master’s Thesis: The group must defend the thesis before a committee of faculty appointed by the department chair.

Grading Policy • Capstone project 60% • Presentation, discussion, and questioning 30% • Documentation 10% Course Schedule (Friday 7:00pm-10:00pm) Table 1: Course Schedule

# week Readings Remarks 1 9/7 research procedure lecture via Zoom meeting 2 9/14 3 9/21 topic brain-storming in-class problem presentation

submit due 9/23 4 9/28 reading papers in-class paper presentation 5 10/5 reading papers in-class paper presentation 6 10/12 proposal writing in-class proposal presentation 7 10/19

8 10/26 9 11/2 midterm midterm report

10 11/9 11 11/16 last day to withdraw 11/16 12 11/23 13 11/30 project testing final report & automation

programming test due 14 12/7 demo in-class project defense and demo 15 12/14 project document project document and submission due

Reminder • No cheating, and no register complaint without talking to me first. • No incomplete. No sit-in or audit the class except formally registered. • Read files under /home/mwang2/tips for help. • Office hours: Friday 9:30pm-10:00pm.

Honor Code All students taking course in the school of engineering agree, individually and collectively, they will neither give nor receive unpermitted aid in examinations or other course work that is to be used by the instructor as a basis of grading.