Info 3 WS 20/21 Continuous Assessment
Due to the ongoing pandemic, the exam will be replaced by continuous assessment. The continuous assessment consists of a series of assignments. They have to be handed in individually, except for CA4, Clean Code Poster.
These assignments replace the exam part in the class’ overall grading, the overall grading scheme and the Lab part is not changed.
Assignments
These are the the assignment slots with grading points. The assigments are marked in moodle as “CA#”
ID | Assignment | Possible Topics | Points | Due Dates PZ1 | Due Dates PZ2 |
---|---|---|---|---|---|
CA1 | Design Patterns Report | GoF Patterns | 5 | 4.12.2020 | 21.3.21 |
CA2 | Topic Report 1 | All | 5 | 13.1.2021 | 21.3.21 |
CA3 | Topic Report 2 | All | 5 | 29.1.2021 | 21.3.21 |
CA4 | Clean Code Poster (Group Work) | Clean Code | 10 | 16.12.2020 | Individual Assignment |
CA5 | Code Reading or Refactoring | All | 15 | 12.2.2021 | 2.4.21 |
CA6 | Oral Consultation | n/a | 10 | 3./5./10.2.2021 | 26.-31.3.2021 |
CA7 | Bonus: Watch and Summarize a Conference Talk | any | 5 | 12.2.2021 | 21.3.21 |
Except for CA1 & CA4, you can choose any Topic Area for the assignments, but each topic area only once, such that you have to cover 3 out of the 7 listed below. CA7 can be about any Topic Area, also one that you have already covered.
Each Assignment will be graded using stars, with 4 stars equaling 5P, multiplied by 2 or 3 for CA4-6. Sum: 50 Points, 55 with Bonus. 50 Points count as 50 or 100 % depending on your option.
You may and should communicate about your work on the assignments, but the work needs to be individual work ultimately. The combination of assigment, topic area and application projects give a wide variety of individual combinations. Especially if you are in a study group I advise you to not choose the same combination, because your work will be hard to differentiate. If I find reports that are too similar, they will not be awarded any points. Apart from that, I encourage you to share, discuss and review your work. If you want to protect yourself, you might want to exchange your work in a way that proofs original authorship, e.g. the wiki or github.
Topic Areas
These are possible Topic Areas.
ID | Scope for Topic Reports | for CA5 / Code Reading | for CA5 / Refactoring | |
---|---|---|---|---|
TA1 | GoF Patterns | Overview, 2 different from CA1 described in Depth | Identify >= 2 Patterns | Refactor to >= 2 Patterns |
TA2 | SOLID | Overview, 2 in Depth | Identify 1 Principle | Refactor to 1 Principle |
TA3 | Clean Code | Overview, 1 Chapter that is not your Poster Chapter in Depth | Discuss in Relation to 1 Chapters | Suggest >= 2 Refactorings motivated by Clean Code Ideas |
TA4 | Application Architectures | Overview, 2 Architecture in Depth | Identify Architecture | Identify Architecture and discuss a possible Alternative |
TA5 | POEAA | Overview, 2 Patterns in Depth | Identify >= 2 Patterns | Identify >= 1 Pattern and discuss >= 1 patterns that may be applied |
TA6 | OO in Depth | Report on both Topics | Discuss Software in relation to OO in Depth | Discuss possible refactorings related to OO in Depth |
TA7 | Continuous Integration & - Deployment | Overview, find and document one example | — | Implement CI/CD Pipeline for a project (hard) |
Legacy Projects for Examples, Code Reading and Refactoring
npm modules
Source Code from other classes, e.g. Bildverarbeitung
other software projects you are involved with
…
CA1 Design Patterns Report
You need to report on two more patterns. The Report should be one handwritten A4 Page in Landscape for each pattern, with a brief summary of the pattern on the left half and a description and reflection of the chosen example on the right half, each with an hand drawn UML diagram.
Read the Catalogue of Design Patterns of the Gang of Four Book and choose one that you already know an example of. There are some examples in Info1+2, but probably also in other classes’ programming exercises.
Do the same for the randomly assigned pattern.
Exchange and discuss the work in your peer groups.
Your reports need to be handed in by Friday of next week.
CA2 & 3 Topic Report 1 & 2
Please use the following structure:
- Assignment: Topic Report 1 or 2
- Topic Area: …
- Overview
- Detailed Discussion of… (according to scope)
CA 4 Clean Code Poster
Prepare a poster for one chapter in a group and present it in class (16.12.2020) The Groups are organized in the Wiki: https://wiki.htw-berlin.de/confluence/pages/viewpage.action?pageId=97455143. This should be done during class, so there is not really an opportunity to redo it in PZ2.
CA 5 - Code Reading or Refactoring
You can choose to either do a Code Reading or a Refactoring:
Code Reading
Pick any Legacy Project see below, assess the software architecture and report on it as discussed in the lecture on code reading (see Schedule). Pick a Topic Area and identify and document the Topic Area in regard to the Legacy Project. E.g. if you combine Code Reading with the Topic Area Patterns of Enterprise Application Architecture, you should be able to identify and describe >= 2 Patterns mentioned in POEAA in the software.
Refactoring
Pick any Legacy Project, and suggest a sensible refactoring that should be applied. Pick a Topic Area and identify and document the Topic Area in regard to refactoring the Legacy Project. E.g. if you combine Code Reading with the Topic Area Patterns of Enterprise Application Architecture, you should be able to identify one Pattern in the software and suggest another one that the project could be refactored to and how it might be done.
CA 6 - Oral Consultation
This will be an individual oral consultation of about 15-20 min covering your completed assignments, and a discussion of your larger project CA5 which is still in progress.
CA 7 - Bonus: Watch a video
Choose, watch and summarize a video of a conference talk of about 45 min to 1 hour. The video should cover or relate to one of the Topic Areas. Summarize the video with text or a sketch note. You can choose any conference talk (not “Patterns for Dummies in 7 minutes!”) - e.g. Talks by