Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering and Architecture

Similar presentations


Presentation on theme: "Software Engineering and Architecture"— Presentation transcript:

1 Software Engineering and Architecture
Introduction to SWEA

2 Henrik Bærbak Christensen
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 Who is the Captain?

4 Henrik Bærbak Christensen
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 og Diplom (SWK) Owner of Course development and consultancy AU CS Henrik Bærbak Christensen

5 Henrik Bærbak Christensen
And as Teacher? Lecturers comes in many flavors… Some are feared, some are soft, some dislike teaching… I like to Hear if there are problems! With your group, with the TA, with the material, the evaluation, … Have constructive feedback and critique So I can make the course better! AU CS Henrik Bærbak Christensen

6 Morale I need to know the problems to try to fix them!
And I am not a student-eating monster  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

7 Why is SWEA Interesting?

8 Henrik Bærbak Christensen
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

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

10 Henrik Bærbak Christensen
School or Study? I assume you can read a web page... Read the official learning goals there… Meanwhile... What is SWEA really about? AU CS Henrik Bærbak Christensen

11 Henrik Bærbak Christensen
There Will Be Code SWEA er et kursus hvor der skal designes og programmeres – vi skal lave kode. Meyer: Once everything has been said, software is defined by code... AU CS Henrik Bærbak Christensen

12 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 Discuss! AU CS Henrik Bærbak Christensen

13 Henrik Bærbak Christensen
Discussion Of course, we need both to be experts! Deep knowledge of anatomy and physiology of the hearth Books! Papers! Discussions! Skilled craftsmanship in doing hearth surgery Training-training-training! Reflections over experience! Empirical studies show we need hours of training to become experts! A standard Danish working year is around hours ! AU CS Henrik Bærbak Christensen

14 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(); ... Programming is a contact sport! AU CS Henrik Bærbak Christensen

15 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

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

17 Henrik Bærbak Christensen
Parameters Consider: Time span before useful Revenue generation Risk Time before misunderstandings are detected AU CS Henrik Bærbak Christensen

18 Henrik Bærbak Christensen
Morale In SWEA we will train to grow software! “Growing” does not mean we cannot have a plan nor a design.. Or that some things, like algorithms, cannot be “constructed” It means we are agile and prepared to change the plans (even dramatically) as we learn from growing the software! AU CS Henrik Bærbak Christensen

19 Henrik Bærbak Christensen
SWEA Software Flexible configurable Reliable it works! Agile development software is reliably grown Patterns The two books ! You will need it Even after graduating! AU CS Henrik Bærbak Christensen

20 Henrik Bærbak Christensen
… Yes ”Foundation of good software” AU CS Henrik Bærbak Christensen

21 Tradition: Empirical Evidence 
No QEDs – sorry! SWEA techniques and industry These techniques are in use or the companies work to introduce them! All tools are industrial strengths First scientific result showing C++ is more productive than C appeared in year ? ICSE 2011 at Hawaii AU CS Henrik Bærbak Christensen

22 How is it Organized?

23 Focus on Skill Acquisition
Lectures I say stuff that you could just as easily have read in the book; or tell war stories; or tell other supporting stories; or … Just about 3-4 hours a week, - with exceptions Labs Work on the mandatory project ! Grow software! Use the book’s techniques! Hone your skills! Study Cafe Work on the mandatory project !! In the teams Work on the mandatory project !!! Constructivism: Students learn by what they do, not by what the teacher does… AU CS Henrik Bærbak Christensen

24 Mandatory Overview Designed to have more load before U 42 AU CS
Henrik Bærbak Christensen

25 Henrik Bærbak Christensen
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

26 Iteration 1 Mandatory: TDD of AlphaCiv
Feedback Schema Approach intro in 2017 SWEA Evaluation Sheet Iteration 1 Mandatory: TDD of AlphaCiv Guidelines Pass Argument Submission No Learning Goal Grade TDD Process Test Code Production Code Improvement Focus 1st 2nd 3rd Score Average 0,00 Not accepted - rehandin Legend Assesses the coverage of the Learning goals and the number of errors 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

27 How do I pass this Course?

28 The Exam… … has two parts which both focus on skills!
The Mandatory Project Using your skills to develop flexible, reliable software The Oral Exam Use your skills in a dialogue with me on concrete problem Each part must be passed individually! Mandatory: By achieving minimum 40% of maximum Oral: By achieving minimum 02 for the exam AU CS Henrik Bærbak Christensen

29 Henrik Bærbak Christensen
Mandatory Project Ten mandatory exercises Solve in groups of two (ideally) or three (less ideal!) Each generate Accept/reject Reject means hand-in again! A score Sum of 3-4 ‘grades’ which are (0,4,7,10) 0 = not acceptable; 4 = adequate; 7 = good; 10 = excellent After all ten mandatories have been assessed A total score is computed ( = sum of all given grades) Is part of your final exam grade AU CS Henrik Bærbak Christensen

30 Henrik Bærbak Christensen
Oral Exam At the SWEA exam you will be asked to read code, design architecture, implement it! Pick a random exercise of a pool of about 30 On a theme like ‘design patterns’, ‘compositional design’, etc. About 30 minutes to understand and work on it Draw code/UML/tables on slides to take to exam Exam is about 12 minutes in which You ‘open’ the question and present parts of understanding, design, solution code, etc. You will all write Java code on the whiteboard ! And we discuss, and code on the whiteboard AU CS Henrik Bærbak Christensen

31 Henrik Bærbak Christensen
And The Grade? The scoring of your oral and mandatory is an overall assessment of both contributing parts The precedent is the following Mandatory scores are put into 3 brackets, representing lower (02-4), middle (7), and higher (10-12) bracket AU CS Henrik Bærbak Christensen

32 Henrik Bærbak Christensen
And The Grade? The precedent is the following We assign an approximate grade for the oral exam If the mandatory score is in another bracket than the oral, it may settle the final grade by increasing/decreasing it by one grade point Example: Bjarne is a 4 or 7 at the oral, was lower bracket. Get a 4. Birthe is a 10 at the oral, was higher bracket. Get a 10. Calle is a 02 at the oral, was higher bracket. Get a 4. Celine is a 7, was higher bracket, but JUST. Get a 7. Danny is a 00 at the oral, so the higher bracket is irrelevant. Get 00. AU CS Henrik Bærbak Christensen

33 Henrik Bærbak Christensen
One Note Mandatory is a group score Two (three) people achieve it together Group Dynamics ”Lige børn leger bedst” ? ”Knokleren og kaffehenteren” ? ”Udbryderen og det afsatte felt” ? Moral: Ensure you are on the same page Do not accept foul play, talk to TAs, talk to me, talk to Andreas! Andreas is our local ‘group dynamics nice-person-to-talk-to’ AU CS Henrik Bærbak Christensen

34 Bottom line Hone your skills Basically only one exercise
Code, reflect, read the book, code, do-over, code, code Train, train, train Basically only one exercise The mandatory project Be able to write Java in ‘notepad’ and ‘gedit’! They are the main learning vehicle!!! AU CS Henrik Bærbak Christensen

35 Workload

36 Henrik Bærbak Christensen
SWEA is … … one of the cannibals when it comes to workload. Year by year, it scores very high in workload Why – hm? It is soo funny, it is the most important course in CS, I love coding, the HotCiv is great,  It is designed as a torture chamber and if I do not work 24 hours a week on it, I am sure to fail or get a bad grade  Or Coding/project courses always tend to require more hours investment… AU CS Henrik Bærbak Christensen

37 Henrik Bærbak Christensen
Spend the time right… Screencasts should be faster than report writing Mandatory point hunting 2017: 360 points 40% is 144, but lowest was 220 ‘We should have had a 10, not 7’ Statistics will iron it out… And they do not dictate final grade AU CS Henrik Bærbak Christensen

38 Practicalities

39 Henrik Bærbak Christensen
The Web SWEA’s home page is not standardized, sorry … Why? Automation/reuse is the major productivity booster in SE Build mgt/libraries/scm/… BB is an adequate tool, but is a manual process tool at its core Click click click click click click click CLICK CLICK CLICK CLICK No versioning, no release management, no automation SWEA pages are Generated from an XML database under SVN control every hour by a cron job AU CS Henrik Bærbak Christensen

40 Henrik Bærbak Christensen
Summary We are going to build complex systems that are flexible and reliable We hypothesize this is best made in an evoluationary 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

41 Henrik Bærbak Christensen
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

42 Henrik Bærbak Christensen
Summary I love strategy games  Mandatory Project I: Tribute to the classic... AU CS Henrik Bærbak Christensen


Download ppt "Software Engineering and Architecture"

Similar presentations


Ads by Google