forked from laboon/Capstone_Fall2016
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
202 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
## Course Information | ||
|
||
**Taught by:** Bill Laboon ([email protected]) | ||
|
||
**Room**: A221 Langley | ||
|
||
**Time**: Fridays 1:00 - 1:50 (internship and research), 1:00 - 2:50 (project and project studio) | ||
|
||
**Professor's Office Hours:** A221 Langley | ||
* Wednesday 1:30-4:30 PM | ||
* or by appointment. | ||
|
||
_NOTE: For those of you heading to Project Studio, you will also be meeting with representatives from the company with whom you are working (NetApp or General Dynamics). This may or may not be at the same time as the capstone class!_ | ||
|
||
Attendance during presentations is **REQUIRED**. If you will miss a class, it must be cleared with me first unless it is an emergency. In the event of an emergency, let me know as soon as possible. | ||
|
||
All students will give a presentation and submit an 8-12 page paper on their internship or project, as well as give a 5-10 minute presentation on what they have done. This presentation will be given during a week that there is not a tech talk. | ||
|
||
In general, the classes will rotate between tech talks from industry and | ||
|
||
Project students will also need to submit other assignment | ||
|
||
## Project Students | ||
|
||
Details on Assignments: | ||
|
||
Proposal Paper (Due 23 Sep 2016) - | ||
This should include: | ||
* A brief description of the project you are working on | ||
* A prioritized listing of user stories to be implemented | ||
* A broad outline of the design of the software | ||
* Architecture? | ||
* Language? | ||
* Supported systems? | ||
* Testing? | ||
* A UML diagram would be nice, but not strictly necessary | ||
* Note that this subject to change as the semester continues! | ||
* 5 - 8 pages | ||
|
||
Additionally, a "walking skeleton" version of the software should be completed at this point. | ||
|
||
Sprint Retrospective Notes: | ||
|
||
These are personal updates which will be emailed to me at the end of each sprint (every two weeks). These should answer the following questions: | ||
|
||
1. What is your opinion of the work done by *you* over the last sprint (pluses, minuses)? | ||
2. What is your opinion of the work done by *your group* over the last sprint (pluses, minuses)? | ||
3. Is there anything you would like to modify going forward? | ||
|
||
Final Project Presentation (Due 9 Dec 2016)- | ||
* A five to ten-minute demo of the software you developed | ||
* Include features and technical decisions | ||
* Especially discuss trade-offs made | ||
|
||
Final Project Paper | ||
* An 8 to 12 page paper discussing: | ||
* Challenges developing the software | ||
* Features added | ||
* Prioritization | ||
* Defects found and fixed | ||
* Design (modifications from initial design?) | ||
* Trade-offs made | ||
* Environment (how did you meet? communicate? discuss? assign work? etc.) | ||
|
||
## Details on Project Development: | ||
|
||
The goal of this course is to develop a project, from start to finish, using modern software engineering tools and techniques. The final project should be _well-written, well-tested, and well-documented_. | ||
|
||
Unless dictated otherwise by the customer, work should be done using git and GitHub or GitLab. Work should be done in a private repository, and I should be added as a collaborator (username is "laboon" on both sites). Please sign up for a student developer pack (which includes free private repositories, along with other free software) here: https://education.github.com/pack | ||
|
||
Unless dictated otherwise by the customer, the project will be developed using the Agile/Scrum software design methodology. We will discuss this more in class. One of the key tenets is that there is always some "working" version of the software, even if it does not include all of the features. This means that at any point, you should have a working version of the software to show customers (and professors)! | ||
|
||
We will consider each class meeting the end of each sprint. During this time, we will spend some time doing a retrospective in your groups - meeting for twenty minutes or so, in-person, to determine what went well with the last sprint and what could go better. You will also come up with a plan for the next sprint. Professor Laboon will be available at the end of each lecture to discuss the path forward with each group. | ||
|
||
Since student schedules are often hard to reconcile, I recommend you use a chat application such as Slack or HipChat to stay in touch with each other, even when you cannot meet in person. | ||
|
||
As this is a capstone course, you are expected to be self-motivated and independent. This may mean learning a new language, framework, architecture, etc. Professional software engineers are often expected to learn these things independently, and you should be prepared to do so as well. If you are unfamiliar with where to find training materials or information for a particular subject, you may discuss it with Professor Laboon, but the onus is entirely on you to learn anything additional you need to know to complete the project. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# CS CAPSTONE | ||
Fall Semester 2016 | ||
|
||
## DUE DATE: 9 DECEMBER 2016 | ||
|
||
## FINAL PAPER | ||
|
||
This final paper is required for all students in the Capstone, including internship (CS 1900) students. | ||
|
||
## FORMATTING REQUIREMENTS | ||
|
||
The paper must be 8 - 12 pages in length, using a relatively standard font and point size (e.g., 12-point Times New Roman or Computer Modern). Judicious use of charts, graphs, and/or illustrations is acceptable. Margins should be of standard size. | ||
|
||
Please ensure that your name as well as the name of the project you worked on is listed, along with your faculty advisor (whoever signed your Faculty Learning Agreement, or your research advisor). | ||
|
||
This is an individual project, even though you may have worked on a project with a group. | ||
|
||
## DETAILS | ||
|
||
The final paper should describe what you did for the capstone, and how you did it. This will obviously vary dramatically based on if you did a research project, a Project Studio project, an internship, etc. Thus, it is difficult to give a broad-enough description of what is required for all of these. Consider the following as a list of possible topics to discuss, not as a checklist. | ||
|
||
1. What programming language did you use? Why? | ||
2. Were there things about the choice of language you liked? Disliked? | ||
3. What frameworks did you use? | ||
4. How did you handle clarifying requirements? | ||
5. What technical problems did you face? | ||
6. How did you ensure quality code? | ||
7. What kind of testing did you do? | ||
8. What was the development process like? | ||
9. How did you communicate with other developers/testers/customers/etc? | ||
10. Did you have non-technical problems that you had to face? | ||
11. What were the biggest challenges you faced during the capstone? | ||
12. Were you able to take what you learned during the capstone and apply it to classes? Conversely, were you able to use what you learned in class for the capstone project? | ||
13. How did you design the software you were writing? | ||
14. Did you present the project to customers? How did you plan for it? | ||
15. What was day-to-day life like? | ||
16. Did you have a mentor? What did they teach you? | ||
17. What was the worst part of the capstone project? | ||
18. How did you deal with ambiguity in requirements or direction? | ||
19. Did you learn any interesting skills during the capstone project? | ||
|
||
In general, what I would like to see is a good understanding of what you did, and what you learned, doing the work for the capstone. If you worked on anything sensitive (e.g., for a government contractor or private data for a company), you do not need to refer to it in your write-up. If there is any doubt, you may wish to show your manager the paper so that they may review it. | ||
|
||
## Other | ||
|
||
Please feel free to email me at [email protected] or come to office hours to discuss any problems you have. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
Fall 2016 Syllabus | ||
|
||
2 SEP 2016 - Introduction (Mr. Laboon, Dr. Znati) | ||
|
||
9 SEP 2016 - Discussion of Agile/Scrum Process | ||
* Sprint 1 Begins | ||
|
||
16 SEP 2016 | ||
* Presentations (Internship Students) | ||
* Software Engineering basics (Project Students) | ||
|
||
23 SEP 2016 | ||
* Presentations (Internship Students) | ||
* Introduction to Retrospectives | ||
* Sprint 2 Begins | ||
* Proposal Paper due for Project Students | ||
|
||
30 SEP 2016 | ||
* TECH TALK: TeleTracking | ||
* Software Engineering Topic (Project Students) | ||
|
||
7 OCT 2016 | ||
* TECH TALK: PNC | ||
* Software Engineering Topic (Project Students) | ||
* Sprint 3 Begins | ||
|
||
14 OCT 2016 | ||
* TECH TALK: BNY Mellon | ||
* Presentations (Internship Students) | ||
* Software Engineering Topic (Project Students) | ||
|
||
21 OCT 2016 | ||
* Presentations (Internship Students) | ||
* Software Engineering Topic (Project Students) | ||
|
||
* Sprint 4 Begins | ||
* Midpoint Summary Due for Project Students | ||
|
||
28 OCT 2016 | ||
* TECH TALK: Google | ||
* Software Engineering Topic (Project Students) | ||
|
||
4 NOV 2016 | ||
* Presentations (Internship Students) | ||
* Software Engineering Topic (Project Students) | ||
* Sprint 5 Begins | ||
|
||
11 NOV 2016 | ||
* TECH TALK: Think Through Math | ||
* Software Engineering Topic (Project Students) | ||
|
||
18 NOV 2016 | ||
* Presentations (Internship Students) | ||
* Software Engineering Topic (Project Students) | ||
|
||
* Sprint 6 Begins | ||
|
||
25 NOV 2016 - NO CLASS! THANKSGIVING BREAK | ||
|
||
2 DEC 2016 | ||
* Tech Talk: NetApp | ||
* Discussion on Final Presentation / Paper | ||
* Sprint 6 Ends | ||
|
||
9 DEC 2016 | ||
* Project Presentations | ||
* Final paper due for ALL students |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
9/30/2016 - TeleTracking - Chris Johnson | ||
|
||
10/07/2016 - PNC - J.P. Mayberry | ||
|
||
10/14/2016 - BNY Mellon - Alison Parkhill | ||
|
||
10/28/2016 - Google - Jess Daluz | ||
|
||
11/11/2016 - Think Through Math - Jim Wrubel | ||
|
||
12/2/2016 - NetApp - Chuck Heinle | ||
|