CS 49901 & CS 44901 Capstone Project & Software Development Project

Spring 2018


Instructor: Xiang Lian

Office Location: Mathematics and Computer Science Building, Room 264

Office Phone Number: (330) 672-9063

Web: http://www.cs.kent.edu/~xlian/index.html

Email: xlian@kent.edu

Course: Capstone Project & Software Development Project

CRNs: 21509 & 12627

CS 49901 Prerequisites: CS 35201 (Computer Communication Networks), CS 33901 (Software Engineering), CS 33007 (Introduction to Database System Design); Programming skills are required.

CS 44901 Prerequisites: CS 23001 (Computer Science II: Data Structures & Abstraction)

Time: 3:45pm - 5:00pm, TR

Classroom Location: Smith Hall (SMH), Room 111

Lab Location and Time: Smith Hall (SMH), Room 110, Wednesday (4:25pm - 6:25pm).

Course Webpage: http://www.cs.kent.edu/~xlian/course_archive/2018Spring_CS49901_CS44901.html


Instructor's Office Hours: Tuesday and Thursday (1:00pm ~ 3:30pm); or by appointment


Lab Instructors: Weilong Ren (wren3@kent.edu), Abdulhakeem Mohammed (amohamm4@kent.edu), and Ahmed Al-Baghdadi (aalbaghd@kent.edu)

Office: Smith Hall (SMH), Room 110

Phone: N/A

TA's Office Hours: Wednesday (4:25pm - 6:25pm)

Enrollment/Official Registration of this Class

The official registration deadline for this course is Jan. 21, 2018. University policy requires all students to be officially registered in each class they are attending. Students who are not officially registered for a course by published deadlines should not be attending classes and will not receive credit or a grade for the course. Each student must confirm enrollment by checking his/her class schedule (using Student Tools in FlashLine) prior to the deadline indicated. Registration errors must be corrected prior to the deadline.


For registration deadlines, enter the requested information for a Detailed Class Search from the Schedule of Classes Search found at:



After locating your course/section, click on the Registration Deadlines link on the far right side of the listing.


Last day to withdraw: Mar. 25, 2018



Online Resources

Library: https://www.library.kent.edu/

Google: http://google.com/

Data sets:

v  NYC OpenData: https://opendata.cityofnewyork.us/data/

v  New York Taxi Data Description [pdf]

v  Spatial data: http://chorochronos.datastories.org/

v  Government data: https://www.data.gov/

v  DBpedia data: http://www.dbpedia.org

v  Freebase data: https://developers.google.com/freebase/


Group Communication Tools: https://discord.gg/hPQf6th

Apache Cordova: https://cordova.apache.org/



Catalog Description

This 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 students work together to complete a computer project under the supervision of the instructor. The course is a writing intensive class in which the student writes regular reports describing his/her progress toward completing the project. The course is three (3) credits lecture and one (1) credit lab.


Course Learning Objectives

Demonstrate the ability to work in teams to analyze a problem, produce a development plan, and implement a computer solution for the problem. Communicate effectively about the progress and difficulties of the project.


Course Requirements

Students will work in groups of 5 team members. Each group will work on a semester project, design, implement and demonstrate the project software.


Each group (i.e., project team) will submit an initial report describing the project's goals, use cases and a time line for its implementation. This will be the initial 2 deliverables for the semester project. Over the course of the rest of the semester that report will be updated with completed software and documentation.


After the initial design phase, every week, each team will present a progress report (i.e., additional deliverables) to the class discussing what they have accomplished and discussing any revisions in project timelines and goals.


The class time and lab time are for planning, trouble shooting, and problem solving, not for project coding. Students are expected to do most of their development work outside of classes and lab. When project development has started, evidence of weekly code development is required.




Group #1: Project #7: Crawling and Querying Social Networks (Weilong)

Group #2: Self-Defined: Career fair (Hakeem)

Group #3: Project #4: Path Navigation Over Road Networks [Gas and Go] (Ahmed)

Group #4: Project #9: Parsing and Visualizing the Bibliography (Hakeem)

Group #5: Self-defined: Web-Based Wind and Weather Map for KSU Campus (Weilong)

Group #6: Project #3: Street View Based GPS Assistance (Weilong)

Group #7: Self-defined: Multiroute GPS (Hakeem)

Group #8: Self-defined: Realtime Cooperative Budgeting App (Hakeem)

Group #9: Self-defined: iBookstore (Weilong)

Group #10: Self-defined: Hapcat (Ahmed)



Tentative Schedule




Week 1 (Jan. 16)

Introduction to Capstone Project


Week 1 (Jan. 18)

Project Descriptions (1)


Getting Started:

a. Problem Definition: Importance of Requirements

b. Definition of Functional/Non-functional Requirements

c. Software Development Life Cycle Overview

d. Use Cases

A list of potential projects [pdf]

Week 2 (Jan. 23)

Lee's project description (please contact slee78@kent.edu)


Project Descriptions (2)



Week 2 (Jan. 25)

Invited Talk "iOS Mobile Application Development" (Sanath Kumar Reddy Reddeddy and Akhil Kumar Goud Koothal)




Week 3 (Jan. 30)

Project Progress Report


Week 3 (Feb. 1)

Submit the Group's Project Description



Feb 1: deadline to form a group of 5 members (Please send Name, ID, and email of each group member to Weilong Ren, wren3@kent.edu)


CS Research Day (Feb. 2) [schedule]

Week 4 (Feb. 6)

v  Submit Functional Requirements project timeline via Blackboard Learn.

v  Start Systems Architecture and Software Design


Week 4 (Feb. 8)


Progress Report, Iteration (1) (Due on Feb. 9)

Week 5 (Feb. 13)

v  Submit Systems Architecture & Software Design via Blackboard Learn

v  Continue working on implementing your software project


Week 5 (Feb. 15)


Progress Report, Iteration (2) (Due on Feb. 16)

Week 6 (Feb. 20)



Week 6 (Feb. 22)


Progress Report, Iteration (3) (Due on Feb. 23)

Week 7 (Feb. 27)



Week 7 (Mar. 1)


Progress Report, Iteration (4) (Due on Mar. 2)

Week 8 (Mar. 6)



Week 8 (Mar. 8)


Progress Report, Iteration (5) (Due on Mar. 9)

Week 9 (Mar. 13)



Week 9 (Mar. 15)


Progress Report, Iteration (6) (Due on Mar. 16)

Week 10 (Mar. 20)



Week 10 (Mar. 22)


Progress Report, Iteration (7) (Due on Mar. 23)


Last Day to Withdraw: 3/25/2018

Week 11 (Mar. 27)


Spring Recess: Mar. 26-Apr. 1; No Classes

Week 11 (Mar. 29)

Week 12 (Apr. 3)



Week 12 (Apr. 5)

1. Submit the first draft of project description, including user guide documentation via Blackboard Learn

2. Submit initial version of the software project via Blackboard Learn

(Please submit the two items above associated with the progress report for Iteration (8))

Progress Report, Iteration (8) (Due on Apr. 6)


Week 13 (Apr. 10)



Week 13 (Apr. 12)


Progress Report, Iteration (9) (Due on Apr. 13)


Week 14 (Apr. 17)



Week 14 (Apr. 19)



Week 15 (Apr. 24)

Group Presentations (20-min presentation&demo + 5-min Q/A)

v  PPT slides (15-20 slides) of the project

v  Demo software project


Group presentations #1, #2, #3


Week 15 (Apr. 26)

Group presentations #4, #5

Course Evaluation

Week 16 (May 1)

Group presentations #6, #7, #8


Week 16 (May 3)

Group presentation #9, #10



Final Project Report (hard deadline: Due on May 3; Submit Project Report, source code, software, readme files, project presentation slides, individual report, peer evaluations, and any related documentation)

Week 17 (May 7-13)


No Final Exam


Academic calendar: https://www.kent.edu/sites/default/files/academic-calendar-2014-2018_0.pdf

Final exam schedule: http://www.kent.edu/registrar/spring-final-exam-schedule

NOTE: Presentation dates and deadlines are tentative. Exact dates will be announced in class!!!

Scoring and Grading

5% - Attendance

60% - Group Project

30% - Final Presentation & Q/A

10% - Peer Evaluation (rated by other group members)


Total: 105%



score > 93%


90% <= score <= 93%


86% <= score < 90%


83% <= score < 86%


80% <= score < 83%


76% <= score < 80%


73% <= score < 76%


70% <= score < 73%


66% <= score < 70%


63% <= score < 66%


score < 63%



Guidelines for Projects/Classes


All projects will be submitted electronically only. Instructions are given separately.

  Assignments (e.g., project reports, presentation slides, code, etc.) must be submitted to Blackboard by the due date. Note that, for group projects, only one group member can represent your group to submit the assignments (otherwise, it is not traceable which submission is the correct version).

  A project assignment turned in within two weeks after the due date will be considered late and will lose 30% of its grade.

  No assignment will be accepted for grading after two weeks late.

  The late submission needs prior consent of the instructor.

Attendance (5%): Students are expected to attend lectures/labs, and contribute to discussions.

Group Project (60%): Each student is required to participate in a Group Project with other classmates. Each group will comprise of 5 students. The instructor may change the group size depending on the course enrollment. Each group will develop functional requirements and design document; implement and demonstrate the project software. Each group is required to submit their final project documentation and complete software project via Blackboard Learn.

There will be a group basic score (i.e., the same score for all members in the group) that will form the basis, from which individual grades for the project will be determined. The workload should be distributed evenly to each group member. Individual scores within a project may vary, if a person's contribution to the project is deemed to have been significantly more or less than the group's score. The group project deliverables will account for 60% of the overall grade.

v  Weekly group reports and progress: 18%

v  Final project result (code/documentation): 30%

v  Final individual report (at least 1,000 words): 12%

* Please send the full names, student IDs, and emails of all team members to the TA (Weilong Ren, wren3@kent.edu) by Feb. 1, 2018, and TA will confirm your team by replying you with your team number.


Final Project Presentation (30%): Students will be required to make presentations of their software project to the class. The Final Project presentation will consist of PowerPoint slides to illustrate the goals and use cases of the software project; users' guide and a demonstration of the software project. The Final Project Presentation will account for 30% of the overall grade. The individual grades will be determined based on each student's participation and performance in the presentation.

Peer Evaluations (10%): Each student is required to complete and submit the Peer Evaluation template via assignment folder in Blackboard Learn. The peer evaluation assignment will account for 10% of the overall grade, which will be rated by other group members about your performance in the team work.

Please use the following criteria to rate yourself and each member in your group:

1. Effort/Active Participation: Following through on the project and being accountable to group members.

2. Contribution: Improving quality of work, being creative, bringing unique skills and abilities that aid in the quality of the final product, and providing leadership.

3. Attendance: Attending team meetings and or group activities.

4. Supported Group Process: Eliciting and valuing input of others, mediating arguments and relieving tension, lending a positive attitude, and other maintenance roles that enhance group social climate.

5. Communication: Checking in with the Group before missing a meeting, clarifying expectations, keeping communication channels open, facilitating others' participation, and "speaking" and "listening" effectively.



Lecture/Lab Attendance Policy

Attendance in the lecture and lab is mandatory. Students are expected to attend lectures/labs, and contribute to discussions. You need to write your name on attendance sheets throughout the course, so please attend every lecture.

Students are expected to attend all scheduled classes and may be dropped from the course for excessive absences. In the event that a student misses a class it is the responsibility of the student to get any notes/assignments or other information. Legitimate reasons for an "excused" absence include, but are not limited to, illness and injury, disability-related concerns, military service, death in the immediate family, religious observance, academic field trips, and participation in an approved concert or athletic event, and direct participation in university disciplinary hearings.

Even though any absence can potentially interfere with the planned development of a course, and the student bears the responsibility for fulfilling all course requirements in a timely and responsible manner, instructors will, without prejudice, provide students returning to class after a legitimate absence with appropriate assistance and counsel about completing missed assignments and class material. Neither academic departments nor individual faculty members are required to waive essential or fundamental academic requirements of a course to accommodate student absences. However, each circumstance will be reviewed on a case-by-case basis.

For more details, please refer to University policy 3-01.2: http://www.kent.edu/policyreg/administrative-policy-regarding-class-attendance-and-class-absence.

Make-up Presentation Policy

No make-up presentation will be given except for university sanctioned excused absences. If you miss a presentation (for a good reason), it is your responsibility to contact me before the presentation, or soon after the presentation as possible.

Academic Dishonesty Policy

The University expects a student to maintain a high standard of individual honor in his/her scholastic work. Unless otherwise required, each student is expected to complete his or her assignment individually and independently (even in the team, workload should be distributed to team members to accomplish individually). Although it is encouraged to study together, the work handed in for grading by each student is expected to be his or her own. Any form of academic dishonesty will be strictly forbidden and will be punished to the maximum extent. Copying an assignment from another student (team) in this class or obtaining a solution from some other source will lead to an automatic failure for this course and to a disciplinary action. Allowing another student to copy one's work will be treated as an act of academic dishonesty, leading to the same penalty as copying.

University policy 3-01.8 deals with the problem of academic dishonesty, cheating, and plagiarism. None of these will be tolerated in this class. The sanctions provided in this policy will be used to deal with any violations. If you have any questions, please read the policy at http://www.kent.edu/policyreg/administrative-policy-regarding-student-cheating-and-plagiarism and/or ask.

Other Policies

No food or beverages (except bottled water) are allowed in the computer labs. Tobacco, etc. is not allowed in class at any time. Please do not modify computer settings (desktop, screen saver, etc.) unless instructed to do so. Please turn off cell phones prior to the beginning of class. The use of cell phones, iPods, MP3 players, etc. is prohibited during lecture.

Students with Disabilities

University policy 3-01.3 requires that students with disabilities be provided reasonable accommodations to ensure their equal access to course content. If you have a documented disability and require accommodations, please contact the instructor at the beginning of the semester to make arrangements for necessary classroom adjustments. Please note, you must first verify your eligibility for these through Student Accessibility Services (contact 330-672-3391 or visit www.kent.edu/sas for more information on registration procedures).

Statements for the Course

This course may be used to satisfy the University Diversity requirement. Diversity courses provide opportunities for students to learn about such matters as the history, culture, values and notable achievements of people other than those of their own national origin, ethnicity, religion, sexual orientation, age, gender, physical and mental ability, and social class. Diversity courses also provide opportunities to examine problems and issues that may arise from differences, and opportunities to learn how to deal constructively with them.

This course may be used to satisfy the Writing Intensive Course (WIC) requirement. The purpose of a writing-intensive course is to assist students in becoming effective writers within their major discipline. A WIC requires a substantial amount of writing, provides opportunities for guided revision, and focuses on writing forms and standards used in the professional life of the discipline.

This course may be used to fulfill the university's Experiential Learning Requirement (ELR) which provides students with the opportunity to initiate lifelong learning through the development and application of academic knowledge and skills in new or different settings. Experiential learning can occur through civic engagement, creative and artistic activities, practical experiences, research, and study abroad/away.




The instructor reserves the right to alter this syllabus as necessary.