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)
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:
https://keys.kent.edu:44220/ePROD/bwlkffcs.P_AdvUnsecureCrseSearch?term_in=201680
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.
Groups:
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 |
Topics |
Notes1 |
Week 1 (Jan. 16) |
|
|
Week 1 (Jan. 18) |
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)
|
|
Week 2 (Jan. 25) |
Invited Talk "iOS Mobile Application Development"
(Sanath Kumar Reddy Reddeddy and Akhil Kumar Goud Koothal) |
|
Week 3 (Jan. 30) |
|
|
Week 3 (Feb. 1) |
Submit the Group's Project Description Q/A |
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!!!
5%
- Attendance
60%
- Group Project
30%
- Final Presentation & Q/A
10%
- Peer Evaluation (rated by other group members)
Total: 105%
A |
score >
93% |
A- |
90% <=
score <= 93% |
B+ |
86% <=
score < 90% |
B |
83% <=
score < 86% |
B- |
80% <=
score < 83% |
C+ |
76% <=
score < 80% |
C |
73% <=
score < 76% |
C- |
70% <=
score < 73% |
D+ |
66% <=
score < 70% |
D |
63% <=
score < 66% |
F |
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.
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.
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.
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.
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.
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).
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.