software engineering
play

Software Engineering and Architecture Introduction to SWEA Corona - PowerPoint PPT Presentation

Software Engineering and Architecture Introduction to SWEA Corona Combat These are challenging times Move to your Stamhold Section Wipe the surfaces ugens spritter Stay at your seat in the break unless Nature


  1. Software Engineering and Architecture Introduction to SWEA

  2. Corona Combat • These are challenging times… • Move to your Stamhold Section • Wipe the surfaces – ‘ ugens spritter ’ • Stay at your seat in the break unless – Nature calls – Urgent and important private calls • Leave on my command AU CS Henrik Bærbak Christensen 2

  3. Agenda • Who am I? • Why is this course interesting? • What are the learning goals? • How are we organized? • How will I pass this course? AU CS Henrik Bærbak Christensen 3

  4. Who is the Captain?

  5. The lecturer • Henrik Bærbak Christensen • Associate professor (lektor) since 2003 – Collaboration with many Danish IT companies • Systematic, Jyske Bank, Terma, B&O, KMD, Uber, Danfoss , … – Actually have had complex software in production ☺ • Faglig koordinator for Master (SWK) / IT-Vest • Owner of • Course development and consultancy • http://www.imhotep.dk AU CS Henrik Bærbak Christensen 5

  6. And as a Teacher – I value… • I need to know the problems to try to fix them! I get my salary to help you get the best outcome of my course as possible! (within the context of sound teaching) AU CS Henrik Bærbak Christensen 6

  7. Why is SWEA Interesting?

  8. Because… • If you aim for industrial software development... – SWEA will cover a lot of industrial strength methods, techniques and tools . No toy tools. No techs that does not scale to FaceBook development. No methods that would not be used by MicroSoft teams. • If you aim for research in security, algorithms, UI, physics, …, or for going into management... – You will want just to pass the exam ☺ and that is fine with me! • There will be a link to ‘How to pass SWEA” AU CS Henrik Bærbak Christensen 8

  9. What are the Learning Goals? Or: What are the values and foundation?

  10. There Will Be Code AU CS Henrik Bærbak Christensen 10

  11. Knowledge versus Skills • What knowledge, what skills are required for ? – Doing heart surgery Flying F16 in combat – Developing the Twitter software and architecture Skills Knowledge AU CS Henrik Bærbak Christensen 11

  12. SWEA emphasize… • Skills! Programming is a contact sport! • “The Strategy patterns is defined by Gamma as ...” – (and then I draw the UML diagram I have memorized) • Fine, but I prefer to see... • This code would benefit by introducing the Strategy pattern and in Java I will code it like this : – private WinnerStrategy ws = new PlayerWithMostArmiesStrategy(); ... AU CS Henrik Bærbak Christensen 12

  13. How do we emphasize skills? • The schedule reads ”TØ” • The term ” Teoretiske Øvelser ” is disliked in SWEA ☺ ! • We have a three hour lab where you hone your skills in developing reliable and flexible software using agile processes! (Using the knowledge you gain by reading the book ☺ ) AU CS Henrik Bærbak Christensen 13

  14. Software Development? • Best way: Building or Growing AU CS Henrik Bærbak Christensen 14

  15. No ‘Correct’ Answer, but • Building – An early mistake is very expensive to correct • Think too weak building foundation  • Growing – Grow a simple system towards users’ needs • Examples – Facebook, Uber, Google, … Facebook anno 2004 AU CS Henrik Bærbak Christensen 15

  16. How is it Organized?

  17. Focus on Skill Acquisition • Lectures – Zoom and Auditorium Experimentation – All physical are also on Zoom. Some are only on Zoom – Experiment with some blended learning + screencasts – Just about 3-4 hours a week, - with a lot of exceptions • Labs Will probably be physical – Work on the mandatory project ! • Grow software! Use the book’s techniques! Hone your skills! • Study Café Will be on Zoom – Work on the mandatory project !! Constructivism: Students learn by • In the teams what they do, not by what the – Work on the mandatory project !!! teacher does … AU CS Henrik Bærbak Christensen 17

  18. Mandatory Overview Designed to have more load early than late ! AU CS Henrik Bærbak Christensen 18

  19. Feedback • Feedback drives learning – I will urge TA’s to • provide fast feedback on Mandatory • focus their feedback on most important area of improvement • And I want to align their attention to key learning goals – WarStory : Once had TA’s from math CS that added lot of proofs to my course => double workload and frustration… AU CS Henrik Bærbak Christensen 19

  20. Feedback Schema • Rubrics approach SWEA Evaluation Sheet Iteration 1 Mandatory: TDD of AlphaCiv Guidelines Pass Argument Submission No Learning Goal Grade Argument TDD Process 0 Test Code 0 Production Code 0 Improvement Focus 1st 2nd 3rd Score 0 Average 0,00 Not accepted - rehandin Legend Grade Assesses the coverage of the Learning goals and the number of errors 0 Unacceptable 4 Adequate (Minor coverage, and several significant errors) 7 Good (Good coverage with some errors) 10 Excellent (Very good coverage with minor or no errors) AU CS Henrik Bærbak Christensen 20

  21. Affects the Exam Grade • The 10 mandatory deliveries are marked, giving points • These points influence the final grade – Mostly in cases of doubt (ala ‘is it 7 or is it 4’?) • Many points pull towards the high grades • Few points pull towards the low grade • Too few point (below 40%) means failed mandatory • Oral Exam thus is the central aspect of the grade AU CS Henrik Bærbak Christensen 21

  22. E20 Changes… Based upon E19 feedback a. o.

  23. Changes compared to E19 • Moving towards less lecturing in the auditorium (small steps) – Partly due to Corona situation – Partly because lecturing is a rather poor teaching format • Constructivsm = learn by doing. But what do you really do during my lectures? – Partly because I want to do something new… • Study Cafe and Corona? • Improve Iteration 8 mandatory – Plan to lower workload compared to E19, due to numerous requests… AU CS Henrik Bærbak Christensen 23

  24. Changes compared to E19 • Released FRS10th anniversary document on www.baerbak.com – Highlights changes in technology stacks • Phew … Released FRDS 2nd Edition – Major overhaul of underlying Broker library • Code bases updated to Gradle 6.5 and Junit 5 – Tech stack evolves – no real benefits, just lots of work  • Experiment with GitLab pipelines and Continuous Delivery – Switching from releases to continuous delivery – Git commit automatically runs your tests and coverage generation – May help TA’s in providing line based feedback within GitLab AU CS Henrik Bærbak Christensen 24

  25. Summary • We are going to build complex systems that are flexible and reliable • We hypothesize this is best made in an evolutionary way – Grow flexible, testable, software – Learn as we go, prepare to get wiser – Agile manifesto • We need production quality tools to do so – JUnit, Gradle, Git, IDEs, ... – Start right away... AU CS Henrik Bærbak Christensen 25

  26. Summary • Your learning will – Resemble industrial strength development • Long term maintenance (> 1 week!) • Customer requirements driven • Focused on one single project (almost) • Read the intro page about the mandatory project!!! AU CS Henrik Bærbak Christensen 26

  27. Summary • I love strategy games ☺ – Mandatory Project: Tribute to the classic... AU CS Henrik Bærbak Christensen 27

Recommend


More recommend