A printable PDF is also available.
Instructor:
Stephen
R. Tate (Steve)
Lectures:
Tues/Thurs 2:00-3:15,
NMOR 328
Office:
Petty 166
Office
Hours: Tues/Thurs
10:00-12:00, or by appointment
Phone:
336-256-xxxx [old number]
E-mail:
srtate@uncg.edu
Class Web Page: http://www.uncg.edu/cmp/faculty/srtate/490/
Catalog Description: Application of classroom knowledge and skills in computer science to solve real-world problems and to develop research and development skills.
Prerequisites: Permission of instructor; student must be in the final semester of major coursework.
Longer Description: The purpose of this course is to give undergraduate students an opportunity to demonstrate what they have learned during their studies, and is completed as the last course in the UNCG B.S. in Computer Science curriculum (possibly taken concurrently with other last-semester classes). Students will work in teams to design and develop a working software product, and will demonstrate the ability to analyze design decisions and consider trade-offs of competing solutions. This course is both speaking intensive and writing intensive, with teams making regular presentations (including weekly status reports), and submitting written reports. The course culminates in public group presentations and a poster presentation for members of the department’s Industry Advisory Board.
Student Learning Outcomes: Upon successful completion of this course students should be able to
(Knowledge, Comprehension) identify project/research problems; understand information and grasp meaning; translate knowledge into new context; use information, methods, concepts, and theories of fundamental topics in computer science in new situations;
(Application and Evaluation) apply computer science principles and practices to a real- world problem; demonstrate in-depth knowledge in the area of the project they have undertaken; solve problems using required knowledge and skills; implement and test solutions/algorithms;
(Analysis) identify potential solutions/algorithms for the project problem; see patterns and modularize the problem, recognize hidden meanings and identify components, show proficiency in software engineering principles;
(Synthesis) create new ideas using the old ones; generalize from given facts in the project they undertake, relate knowledge from several areas in systematic scientific approach, predict and draw conclusions relevant to the project they undertake;
(Team Work) show evidence (group collaboration, regular meetings, email communications, significant knowledge and skills contributions, etc.) of working productively as an individual and in a team on a project that produces a significant software product;
(Communications) show evidence of competency in oral and written communications skills through oral presentations (project presentation, department seminar or conferences), technical reports and/or published research papers in conferences and/or journals;
(Lifelong Learning) use modern techniques, skills and tools necessary for computer science practices relevant to the project they undertake; use techniques in recent research papers to solve problems.
As a UNCG-designated “Speaking Intensive” (SI) course, CSC 490 has the learning outcome:
(Speaking Intensive) Students will be able to speak in genres appropriate to the discipline(s) of the primary subject matter of the course.
As a UNCG-designated “Writing Intensive” (WI) course, CSC 490 has the learning outcome:
(Writing Intensive) Students will be able to write in genres appropriate to the discipline(s) of the primary subject matter of the course.
Textbook and Readings: There is no textbook for this course. Students will be provided with a list of suggested readings and other materials addressing techniques and technologies that might be useful in completing their project.
Tools and Technologies: There are many tools and technologies that can help teams in completing their project. While the team may choose to use additional tools as appropriate for their project, the following are required:
Google Docs: Teams will be writing a single, large project report, with due dates for adding sections. Each team will be provided with a document template, which should be copied and shared with all team members and course staff (instructor and/or grader as appropriate). Grading and feedback will be provided directly in your document.
GitHub: Teams will set up a GitHub repository for the project code and presentation materials. Teams should use standard software development practices, working in branches for development, and merging back into the master branch when finished. All team members and course staff should have access to the repository.
ZenHub: Teams will use ZenHub to manage their project, which integrates GitHub issue tracking with agile/scrum tools such as task boards and burndown charts to monitor your progress.
Project Selection and Requirements: Students are expected to choose an appropriate project/research topic in consultation with their instructor. Students must carry out a requirements elicitation/analysis or literature survey and then identify potential solutions to the problems stated in the project. The following two requirements are mandatory – any project that does not meet these requirements will result in a failing grade for the course.
All projects must be team projects. Typical teams are 3-5 students, and expectations of what can be accomplished are higher for larger teams.
All projects must identify at least two design choices and analyze trade-offs between these choices. These design choices must be implemented and evaluated by means of subjective or objective methodologies.
Deliverables and Guidelines: There are four “phases” to the project, and for each phase teams will complete a section of their project report and will make a presentation of their accomplishments for that phase. Presentations for each phase will be done during the Tuesday class meeting, and the report will be due on Friday at noon. Specific guidelines for graded work are below.
Code: All code should be saved in a GitHub repository. Your repository should have a README.md file that describes your project, and source code should be stored in a “src” directory. If there are independent components to your project (e.g., front end and back end code), you should further structure your repository with sub-directories.
Presentations: Every team member is expected to have a part of the presentation (and project) for which they are responsible, and each team member must actively participate in each presentation. Presentations should use slides, which should be saved in a “presentations” directory of their GitHub repository. Other students are encouraged to contribute to other team projects by making suggestions based on the presentations. The delay in due dates from the presentation to the written report due date is to give teams the opportunity to incorporate in any such improvements into their written report.
Written reports: Students will write a substantial, multi-section report over the course of the semester, with sections added for each phase. Students will use Google Docs to write their report, and will receive feedback from the instructor/grader directly in Google Docs. After the due date for a specific section, students should not modify the document until grading is complete. If students want to get started on writing the next section, they should make a copy of the document, work in the copy, and then copy-paste their new material back into the master document after it has been graded (unfortunately, Google Docs doesn’t support branching!). Students are required to make corrections and improvements for a graded section before the next section is due. By making these corrections, students may earn back 75% of any points that were deducted in the earlier submission.
Final presentation and demo: At the end of the semester, teams will make formal presentations of their projects, including a demonstration of working code. These presentations will be publicized, and other faculty, students, and guests will be welcome to attend.
Posters: Each team must produce a 2-foot by 3-foot poster on their project. These will be due electronically several days before the poster display and reception with the department’s Industry Advisory Board, and the department will print posters. These posters will be kept by the department, with the best quality posters put on display in the hallway outside the department office. An optional template and other guidance will be provided.
TV-slide: Teams should also produce a single slide (16x9 aspect ratio) that briefly presents their project, appropriate for the 10-second cycling on our department’s informational TV display in the Petty Building. Students and faculty will vote on their favorite slides, and the winners will be displayed throughout the following semester on the department’s display. These slides may also be included in a public project repository available through the department’s web site.
ETS Exam: This course has been designed to satisfy many of the ABET accreditation requirements, and as part of that students must take the ETS “Major Field Test in Computer Science” which evaluates knowledge in undergraduate-level computer science topics. For information on the ETS exam, see https://www.ets.org/mft/about/content/computer_science Performance on this exam is included as a 5-point component of your final class grade, using the following scale:
ETS Score >= 160 |
5 Points |
150 <= ETS Score < 159 |
4 Points |
145 <= ETS Score < 150 |
3 Points |
140 <= ETS Score < 145 |
2 Points |
ETS Score < 140 |
1 Points |
No show for the exam |
Fail the course |
Project Deadlines and Requirements:
Project Stage |
Submission Requirements |
Week Due |
Due Dates Present Report |
|
0 |
Proposal |
Outline of proposal |
Week 2 |
Aug 21 Aug 24 |
1 |
Project Definition & Requirements Specification |
Phase 1 Report and Oral Presentation Approach and System profile Feasibility and Draft models |
Week 4 |
Sept 4 Sept 7 |
2 |
System/Algorithm Analysis, System/Research Design |
Phase 2 Report and Oral Presentation Amended models, detailed designs and controls Systems/Algorithm Analysis report with data and process models Data dictionary |
Week 7 |
Sept 25 Sept 28 |
4 |
Coding & Testing, Implementation & Conversion |
Phase 3 Report and Oral Presentation Testing Plan and Conversion plan Training plan Preliminary demonstration |
Week 13 |
Nov 6 Nov 9 |
5 |
ETS Exam |
See above |
Week 14 |
TBA |
6 |
Presentations |
Phase 4 Report and Oral Presentation Poster and TV slide (Nov 19) Final presentation (Nov 20) Poster/IAB reception (Nov 27) |
Week 15 |
|
7 |
Final Report |
Source code and technical report (including user manual) |
Week 16 |
Dec 1 (Sat) 3:30PM |
Grading: The project will be graded for content, correctness, method of presentation (oral and technical report), team work (group project) and the demonstration of the student’s knowledge of computer science. Each student product will be evaluated out of the number of points given in the table below (the sum in the “Total” column adds to 100, and this will be converted to a letter grade in the standard way).
WI=written materials evaluation ; SI=presentation evaluation ; TC=technical content |
||||
Project phase/deliverable |
WI |
SI |
TC |
Total |
Project definition or Requirements Specification |
3 |
3 |
4 |
10 |
System/Algorithm Analysis, System/Research Design |
5 |
5 |
10 |
20 |
Coding, Testing, Implementation, and Conversion |
4 |
6 |
10 |
20 |
Final Project evaluation will be divided into: |
|
|
|
|
Final Presentation |
|
8 |
2 |
10 |
Source Code and User Manual |
5 |
|
10 |
15 |
Technical Report/Research Papers |
5 |
|
5 |
10 |
Final Poster |
5 |
|
|
5 |
Final TV-Slide |
5 |
|
|
5 |
ETS Exam |
|
|
|
5 |
Useful Steps: The senior capstone project is a big and complex task, but taking a few simple steps early will help you successfully complete your project.
Go through the syllabus again
Setup an email group
Setup Github (for)
Project Homepage
Project Code
Project Presentation
Progress reports
Github is free for students https://education.github.com/pack
Set up Google Docs for your report – a template is provided at https://goo.gl/9NSS99 (you must be logged in to your UNCG account to access this document).
Submit an initial project proposal describing in detail your project/research topic and how you plan to treat this topic.
Attend all assigned class meetings and oral presentations; Talk to each other; Discuss issues.
Submit the final findings and results as technical report (the team report should include individual responsibility sections).
Prepare and practice your final oral presentation.
External reviewers and department poster presentation.
Have fun and produce something you will be proud of!!!
After This Class: Think your app or software project is a real opportunity? Could it make money? Could it become a business? UNCG has a unique opportunity that will give you $$$ to learn if your software could really become a business. The UNCG I-Corps Program helps students with tech-related ideas learn the where the best market opportunity is. Each team gets up to $3k to investigate as well as develop a prototype for their innovation. To learn more, visit the I-Corps website or email Justin Streuli at jtstreul@uncg.edu.
Assistance with Speaking and Writing Requirements: The University Speaking Center provides tutoring and services that help students improve their oral communication skills. Consultants at the Speaking Center can provide assistance in the preparation and delivery of speeches, as well as assistance in developing group or team communication skills. For more information, their website is http://speakingcenter.uncg.edu
The University Writing Center provides assistance to students in writing tasks from organizing thoughts to the mechanics of effective writing. The Writing Center provides individual consulting for students through either face-to-face or online sessions. For more information, please refer to the Writing Center web site at http://www.uncg.edu/eng/writingcenter/
Academic Honor Code: Students are required
to sign the Academic Integrity Pledge on any work they do. The pledge
is the statement "I have abided by the UNCG Academic Integrity
Policy on this assignment." For information on the UNCG Academic
Integrity Policy, see http://academicintegrity.uncg.edu/
.
Students will work in teams, but individual responsibilities should be planned and documented throughout the phases of the project. Teams will be making extensive use of external references for their project, and should be vigilant in maintaining high standards with regard to attribution and avoidance of plagiarism. Even with attribution, it is almost never OK to copy material from the Internet or other sources (using supporting software packages and libraries is generally OK as long as it’s clear where the material came from). If there are questions about how to deal with any such matters, the student should discuss the matter with the instructor to make sure there are no misunderstandings. Violations of the honor code may result in penalties ranging from point deductions to failing the course to referral to the Office of Student Rights and Responsibilities.
Attendance Policy: Attendance at both class and team meetings is required. The senior project is a lot like a job, and you must be at work on time every day. After two absences you will receive a warning, and if absences continue then points will be deducted from your final grade.
Due dates: Late work will not be accepted. Make arrangements with the instructor to turn in work early if you will not be in class on the due date.
In-class Behavior: When you are in class you should be focused on the class, and you should act in a professional and mature manner. During class there should be no eating, drinking, e-cigarettes, cellphone use, non-class related laptop, or anything else that does not pertain to the class activities. Any distracting items may be confiscated at the discretion of the instructor.
ADA Statement: UNCG seeks to comply fully with the Americans with Disabilities Act (ADA). Students requesting accommodations based on a disability must be registered with the Office of Accessibility Resources and Services (OARS) in 215 Elliott University Center, 334-5440, (https://oars.uncg.edu).
University Closings: If university facilities are closed due to flu outbreak or other emergencies, it does not mean that classes are canceled. In such an event, please check the class web page and Canvas site for information about if and how the class will proceed.
Commercial note-taking services: Selling class notes for commercial gain or purchasing such class notes in this or any other course at UNCG is a violation of the University’s Copyright Policy and of the Student Code of Conduct. Sharing notes for studying purposes, or borrowing notes to make up for absences, without commercial gain, are not violations.