Working as a Software Engineer (EN)
2020/2021- Formål
Relevance
Viden
As a professional you will be working together both with business people and software engineers. This course will focus on extending your understanding of the software development process and thereby your ability to work together with software engineers.
Description During your SD and SC classes you have been working with many topics that are relevant for your ability to understand and participate in the software engineering process. The course will build on this understanding and will increase your skills by integrating the topics from SD and SC and give you more experience with the topics.
Participants
The course is for students who want to increase their skills to build IT systems, including, in particular, their programming skills. Participants will not become software engineers by participating, but their skills come at a level that will facilitate collaboration with software engineers.
Components in the course
• Object oriented software development
o Analysis, design and programming
• Handling the semantic gap between problem and solution domain
o Domain driven design – from domain to code
• Well-designed software
o High cohesion and low coupling o Encapsulation o Interfaces, components and services
• Design patterns
o Reuse of known solutions to design problems
• Modeling
o UML
o Forward and reverse engineering
• Experimental, iterative and incremental development in practice
Activities
The course will be an interaction between theory and practice, but the focus will be on problem-based learning. realization of smaller but fully functioning applications.
The main elements of the project and therefore the course will be the following:
• Which applications will we build?
• How do we break down our application?
• How do we work with models to design it?
• How do we program it?• Different programming languages
Færdigheder
• The semantic gap as a challenge
• The use of models in software engineering
• Implementation and use of design patterns in an application• Can create smaller but technically well-designed applications
Kompetencer
• Can use interfaces as contracts between components in a system
• Can use UML and other models both in a forward and a reverse engineering process
• Can work with ubiquitous language and semantic gap in practice• Can choose relevant use of models in an unknown situation
• Can interact with people from the solution domain (software engineers)
• Computational Thinking - Undervisningsform og udfoldelse
af læringsmål The course will focus on project and problem-based learning. We will be working on one or more real but small project. We will do some tasks together in the class (modelling and programming) and you will do some tasks in smaller groups. We will also as a whole class divide a system into smaller parts and assign the responsibility for building these parts to individual groups.
- Forudsætninger for at deltage i
faget
Faglige forudsætninger for at deltage i faget
Det primære programmeringssprog vil være Python.Materielle forudsætninger for at deltage i faget
Egen computer. - Prøve
Læringsmålene for prøven er identiske med fagets/fagenes læringsmål
Forudsætninger for indstilling til eksamenPortfolio fra hver undervisningsdag skal medbringes til prøven.Faget prøvesFaget/modulet prøves selvstændigtPrøveformMundtlig prøveIndividuel eller gruppeprøveIndividuelAnvendt sprog til prøvenEngelskHjælpemidler der må medbringesIngenHjælpemidler som stilles til rådighedIngenBedømmelsesform7-trins skalaBedømmer(e)Intern censur
På faget Working as a Software Engineer (EN) modtager du 45 timers undervisning, hvilket svarer til 60 lektioner (1 lektion = 45 min.) og 16% af din samlede arbejdsbelastning på faget.
Undervisningen vil primært bestå af følgende aktiviteter: digitale øvelser.
Forberedelsen vil primært bestå af følgende aktiviteter: læsning af pensum, øvelser.
Læs om KEAs studieaktivitetsmodel
*KEA kan fravige det angivne timetal, hvis det er begrundet i særlige forhold.