Skip to content

Commit 7fa6cbd

Browse files
committed
Merge branch 'main' of https://github.com/CS3704-VT/Course
2 parents dc28981 + 00114fe commit 7fa6cbd

8 files changed

Lines changed: 51 additions & 20 deletions

File tree

Project/PM0.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,7 @@ Please complete this [survey](https://canvas.vt.edu/courses/196188/quizzes/54885
1111
4. Based on the project details provided in class and on the course GitHub repository, what questions do you have about the project this semester?
1212

1313
5. Provide your preliminary project idea (or set of ideas). This is not a commitment to a project.
14+
15+
6. Come up with a team contract with your group members. This document should outline working style, meeting and communication expectations, and a team-specific AI policy (that does not overrule the class policy). By submitting this document, all teammates agree to adhere to the contents for the duration of the course project.
1416

1517
**Due:** September 12 at 11:59pm

Project/PM1.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
This project milestone will focus on developing the requirements of your system.
44

55

6-
#### __Requirements Elicitation (3%)__
6+
### __Requirements Elicitation (3%)__
77

88
Requirements Elicitation is the process of discovering requirements for your system. There are numerous ways to elicit requirements for software-products. We will discuss several examples in class. You must select one requirements elicitation technique and collect insights on requirements for your project idea from at least 10 other individuals outside of your group, ideally people who would be target users of your product. In your lightning talk for PM2, you must present the requirements elicitation technique you used and a brief overview of the results. Documentation of your requirements elicitation (i.e., survey questions and responses, interview questions and responses, etc.) must be submitted with PM1.
99

@@ -32,14 +32,14 @@ Your project team must also submit a project proposal document. The proposal mus
3232
* a relevant _title_ and all group members listed as _authors_;
3333
* an _abstract_ briefly describing the problem and proposed solution;
3434
* an _introduction_ that further explains the problem and motivates the need for the proposed solution;
35-
* _related work_ presenting relevant software engineering tools or research studies;
35+
* _related work_ presenting relevant software or research studies;
3636
* a brief description of the _software engineering process_ your team plans to use for the project and why you selected this process;
3737
* a section providing an overview of the requirements elicitation, analysis, and specification activities above;
3838
* and _references_ to any appropriate citations, if applicable.
3939

4040
* You will receive feedback from the teaching staff on the proposal and requirements documentation to approve of your course project for the semester.
4141

42-
**Rubric: [TBD]()**
42+
**Rubric: [Project Proposal Rubric](https://docs.google.com/spreadsheets/d/1VMVzrpiIOmrvO2pFgUCEIwamtNEocYbRYs1dpVHlPco/edit?gid=0#gid=0)**
4343

4444
### Process Deliverable (1%)
4545

@@ -52,11 +52,11 @@ The submission for this deliverable will depend on the specific SE process model
5252
| Kanban | a Kanban board (i.e., screenshot, link, etc.) with backlog of prioritized tasks for PM2 |
5353
| XP | planning poker outcomes to estimate effort for prioritized PM2 tasks |
5454
| Spiral | identify PM2 objectives, anticipated risks, and how you plan to mitigate them |
55-
| Waterfall: submit a simplified version of a software requirements specification (SRS) document for your system [[example](https://assets.asana.biz/transform/4a6dce32-7fe3-42a9-9ff9-a22083597903/inline-project-management-software-requirement-document-template-3-2x?io=transform:fill,width:2560&format=webp)] |
55+
| Waterfall | submit a simplified version of a software requirements specification (SRS) document for your system [[example](https://assets.asana.biz/transform/4a6dce32-7fe3-42a9-9ff9-a22083597903/inline-project-management-software-requirement-document-template-3-2x?io=transform:fill,width:2560&format=webp)] |
5656

5757
* If your process is not listed below, please contact Dr. Brown for an equivalent submission.
5858

5959
**Due:** September 26 at 11:59pm
6060
- [ ] Requirements Documentation (one document or separate well-labeled documents)
6161
- [ ] Project Proposal
62-
- [ ] Process Deliverable I
62+
- [ ] Process Deliverable I

Project/PM2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Your group must complete an oral proposal presentation during class provding an
1515

1616
You may divide the presenting duties among your team however you wish, but the talk must be **_no more than 5 minutes_**. The slides for your presentation are due before class on October 14, and lightning talks will take place in class October 14 and 16. The order of lightning talks will be selected randomly and presented immediately before each class. Please be on time for class on these dates. Due to time constraints, there will not be time for Q\&A after each lightning talk.
1717

18-
**Rubric: [TBD]()**
18+
**Rubric: [Lightning Talk Rubric](https://docs.google.com/spreadsheets/d/1naN-hkgnk3zpC0qfHWU1iA3JJVR4BKaRv4zUnbIopmA/edit?gid=0#gid=0)**
1919

2020
### Process Deliverable II (2%)
2121

Project/PM3.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,11 @@ The submission for this deliverable will depend on the specific SE process model
3636

3737
### Project Check-In (1%)
3838

39-
Complete [this survey](https://forms.gle/XwNUaj4xjuH6grsq8) to provide an update on your team progress on the project so far this semester. Only one team member needs to complete this for the group.
39+
_Required:_ Complete [this survey](https://forms.gle/fbq42BjdDuSdKYXd8) to provide an update on your team progress on the project so far this semester. Only one team member needs to complete this for the group.
4040

41+
_Optional:_ Please complete [this survey](https://forms.gle/F8SPwJv4EY1WuQTV6) to provide an individual update on your team's progress separate from the group survey. You do not need to complete this for PM3.
4142

4243
**Due:** October 31 at 11:59pm
4344
- [ ] Design documentation (one document or separate well-labeled documents)
4445
- [ ] Process Deliverable III
45-
- [ ] Check-In survey
46+
- [ ] Team Check-In survey

Project/PM4.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ This project milestone will focus on the implementation of your system.
66

77
You must provide an implementation of this project. For the purpose of this milestone, you just need to submit a repository with code in it submitted by each team member. The code may or may not be functional or compile (actually, it should not work properly for the following milestone), and should consist of functions/methods relevant to your project and provide an idea of a potential implementation based on the design in PM3. For grading we will check that: a) code is present for core functionality; b) all team members are contributing to the repository (i.e., commits, creating/closing issues and PRs, documentation, etc.); and c) ensure your ability to contribute code to a team repository with appropriate version control practices (i.e., commits, pull requests, etc.). You will not be penalized for using LLMs or generative AI tools.
88

9-
* **If you use AI**, you are expected to have multiple functions (_n_) for your system. You must also adhere to the course AI policy. That is, clearly labeling which segments of code are generated by AI (i.e., provide a log, add comments denoting AI usage and providing prompts, etc.). In addition, you must include an IMPLEMENTATION.md file that explains what feature you implemented, an explanation of what the generated code does and if it does what you were expecting, and what AI tool(s) was(were) used, how, and why. Also describe if any modifications were necessary to the prompts or code to get the submitted output.
9+
* **If you use AI**, you are expected to implement multiple functions for your system. You will be expected to visually represent (i.e., demo) the functionality during the final demo. You must also adhere to the course AI policy. That is, clearly labeling which segments of code are generated by AI (i.e., provide a log, add comments denoting AI usage and providing prompts, etc.). In addition, you must include an IMPLEMENTATION.md file that explains what feature you implemented, an explanation of what the generated code does and if it does what you were expecting, and what AI tool(s) was(were) used, how, and why. Also describe if any modifications were necessary to the prompts or code to get the submitted output.
1010

11-
* **If you do not use AI**, you are expected to implement at least one functions for your system. In addition, you must include an IMPLEMENTATION.md file that explains what feature you implemented and how you implemented it (i.e., pair programming, etc. if applicable). All team members must submit to the repository. If you submit work for this option but did use AI, it will be treated as an honor code violation.
11+
* **If you do not use AI**, you are expected to implement at least one functionality (i.e., one class) for your system. You will not be required to demo in the final presentation, but will need to explain what was implemented. In addition, you must include an IMPLEMENTATION.md file that explains what you implemented, how you implemented it (i.e., pair programming, etc. if applicable), and how it relates to your overall system design. All team members must submit to the repository. If you submit work for this option but did use AI, it will be treated as an honor code violation.
1212

1313
### Black Box Test Plan (6%)
1414

@@ -34,6 +34,6 @@ The submission for this deliverable will depend on the specific SE process model
3434

3535

3636
**Due:** November 14 at 11:59pm
37-
- [ ] Implementation (GitHub repository with code)
37+
- [ ] Implementation (please provide access to your GitHub repository with code)
3838
- [ ] Black box test plan
39-
- [ ] Project Deliverable IV
39+
- [ ] Project Deliverable IV

README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,36 +42,36 @@ By the end of this course, students should be able to:
4242
| Sept 9 | Project Management | [HW1](https://canvas.vt.edu/courses/215812/assignments/2481867) (due 9/19) |
4343
| Sept 11 | Project Workday | |
4444
| <tr><th colspan=3> 🎨 &nbsp;&nbsp;&nbsp; Design &nbsp;&nbsp;&nbsp; 🖌️ </th></tr> |
45-
| Sept 16 | Software Design Principles | PM1 (due 9/26) |
45+
| Sept 16 | Software Design Principles | [PM1](./Project/PM1.md) (due 9/26) |
4646
| Sept 18 | Software Architecture | |
47-
| Sept 23 | Low-Level Design | HW2 (due 10/3) |
47+
| Sept 23 | Low-Level Design | [HW2](https://canvas.vt.edu/courses/215812/assignments/2481870) (due 10/3) |
4848
| Sept 25 | UI Design | |
49-
| Sept 30 | Project Workday (dcbrown travel) | PM2 (due 10/14; 10/17) |
49+
| Sept 30 | Project Workday (dcbrown travel) | [PM2](./Project/PM2.md) (due 10/14; 10/17) |
5050
| Oct 2 | [Guest Lecture] (dcbrown travel) | |
5151
| Oct 7 | Exam Review (dcbrown travel) | |
5252
| Oct 9 | 💯 Exam 💯 (dcbrown travel) | |
53-
| Oct 14 | ⚡ Talks | HW3 (due 10/24) |
53+
| Oct 14 | ⚡ Talks | [HW3](https://canvas.vt.edu/courses/215812/assignments/2481884) (due 10/24) |
5454
| Oct 16 | ⚡ Talks | |
5555
| <tr><th colspan=3> ⌨️ &nbsp;&nbsp;&nbsp; SE Fundamentals &nbsp;&nbsp;&nbsp; 📝 </th></tr> |
56-
| Oct 21 | Code Quality | PM3 (due 10/31); HW4 (due 11/7) |
56+
| Oct 21 | Implementation and Code Quality | [PM3](./Project/PM3.md) (due 10/31); HW4 (due 11/7) |
5757
| Oct 23 | [Guest Lecture] | |
5858
| Oct 28 | Version Control | |
5959
| Oct 30 | AI Writing Code | |
6060
| <tr><th colspan=3> 🧹 &nbsp;&nbsp;&nbsp; Maintenance and Testing &nbsp;&nbsp;&nbsp; 🧪 </th></tr> |
61-
| Nov 4 | Maintenance | PM4 (due 11/14); HW5 (due 11/21) |
61+
| Nov 4 | Maintenance | [PM4](./Project/PM4.md) (due 11/14); HW5 (due 11/21) |
6262
| Nov 6 | Testing | |
6363
| Nov 11 | [Guest Lecture] | |
6464
| Nov 13 | Project Workday | |
6565
| <tr><th colspan=3> 🚀 &nbsp;&nbsp;&nbsp; Deployment &nbsp;&nbsp;&nbsp; 💻 </th></tr> |
66-
| Nov 18 | CI/CD and Deployment | PM5 (due 12/5); HW6 (due 12/5) |
66+
| Nov 18 | CI/CD and Deployment | [PM5](./Project/PM5.md) (due 12/5); HW6 (due 12/5) |
6767
| Nov 20 | [Guest Lecture] | |
6868
| <tr><th colspan=3> Thanksgiving Break </th></tr> |
6969
| Nov 25 | 🦃 THANKSGIVING BREAK, NO CLASS 🙏🏿 | |
7070
| Nov 27 | 🦃 THANKSGIVING BREAK, NO CLASS 🙏🏿 | |
7171
| <tr><th colspan=3> 👀 &nbsp;&nbsp;&nbsp; Emerging Topics &nbsp;&nbsp;&nbsp; 🔍 </th></tr> |
7272
| Dec 2 | Advanced Topic | |
7373
| Dec 4 | Advanced Topic | |
74-
| Dec 6 | Retrospective / Project Workday | PM6 (12/9; 12/17) |
74+
| Dec 6 | Retrospective / Project Workday | [PM6](./Project/PM6.md) (12/9; 12/17) |
7575
| <tr><th colspan=3> 💯 &nbsp;&nbsp;&nbsp; Final Exam &nbsp;&nbsp;&nbsp; 💯 </th></tr> |
7676
| Dec 9 | Project Demos | |
7777
| Dec 17 | Project Demos and Final Exam | |
40.4 KB
Binary file not shown.

resources/StudyGuide.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Exam Study Guide
2+
The exam will be an overview of all the materials covered in class for the semester so far, focusing on software engineering processes, and requirements and design artifacts and practices. The exam will be a one hour timed Canvas Quiz that is open-book. You are free to use your notes, lectures slides, and other course materials and resources to complete the exam. You may **NOT** work with another person on this exam or use AI tools. Below is a general study guide to help organize your notes and preparation efforts. The exam content will include but is not limited to the following:
3+
4+
### Software Processes
5+
* Explain the advantages and disadvantages of iterative and plan-driven processes
6+
* Compare, contrast, and apply different plan-driven SE processes: (V-model, Waterfall)
7+
* Compare, contrast, and apply different iterative SE processes: (Incremental, Prototyping, Spiral)
8+
* Code-and-fix was the "process" of the 1950s
9+
* Compare, contrast, and apply different agile-based processes: (Scrum, Kanban, Extreme Programming, Adaptive Software Development, Crystal Agile Framework, Lean Software Development)
10+
* Understand the differences between different types of agile-based meetings: (scrum/standup meeting, retrospective, sprint planning, triage, sprint review)
11+
* Understand and apply basic parts of a repository
12+
13+
### Requirements
14+
* Explain the difference between requirements analysis, specifiction, and elicitation
15+
* Understand the difference between functional and non-functional requirements
16+
* Describe how to apply requirements elicitation techniques: (surveys, interviews, focus groups/brainstorming, prototyping, ethnographies)
17+
* Write a user story for a given scenario
18+
* Understand the different between a use case and a user story
19+
20+
### Design
21+
* Understand the difference between high-level/architectural, low-level, and UI design
22+
* Apply architectural design patterns: (pipe-and-filter, event-based, layered, etc.)
23+
* Understand and discuss different software design concepts (i.e., abstraction, modularity, S.O.L.I.D., etc.)
24+
* Understand the differences between low-level design pattern families (creational, structural, and behavioral)
25+
* Describe and apply UI design processes: (i.e., prototyping, wireframing, task flow analysis, storyboarding, etc.)
26+
* Explain the advantages and disadvantages of using design patterns
27+
* Understand low-level design patterns (discussed in class) and how they can improve code
28+
* Understand and discuss UI design heuristics

0 commit comments

Comments
 (0)