This is a 7.5 ECTS course offered by Blekinge Institute of Technology. The purpose of the course is to introduce a basic toolbox for a modern software engineer. The intention is to be made aware of the concepts and technologies and get some starting practice in using them. This will be followed up in subsequent courses where familiarity with the introduced concepts may be implicitly expected.
The course consists of Lectures, Written Assignments, and non-graded Advanced Exercises
(In swedish, since the Syllabus is in swedish)
-
Kunskap och förståelse; Efter genomförd kurs ska studenten kunna:
- Visa grundläggande kunskaper i modern mjukvaruutveckling och containerbaserad mjukvaruutveckling genom att skriftligt beskriva och sammanfatta erfarenheter och observationer från övningar och projekt.
-
Färdighet och förmåga; Efter genomförd kurs ska studenten kunna:
- Utifrån en specifikation utveckla, dokumentera, och presentera ett mjukvaruprojekt som exekverar på ett fåtal kommunicerande containers.
- Felsöka ett program med hjälp av testkod och en debugger.
- Samarbeta runt ett gemensamt utvecklingsprojekt med hjälp av konfigurationsverktyg.
- Hantera de verktyg och utvecklingsmiljöer som används vid utveckling och felsökning med containerbaserad mjukvaruutveckling.
-
Värderingsförmåga och förhållningssätt; Efter genomförd kurs ska studenten kunna:
- Skriftligt reflektera över sina lösningar och sitt användande av utvecklingsverktyg.
D. Thomas, A. Hunt, The Pragmatic Programmer, 20th Anniversary Edition, 2020. ISBN-10: 0-13-595705-2
- Introduction
- The Computer and its Parts
- Practical: Development Environment
- Basic Tools
- Configuration Management
- Practical: Working with Git
- Virtualisation
- Development with Containers
- Practical: Docker and Docker Compose
- Testing and Debugging
- Documentation
- Practical: Testing and Debugging
- User Interfaces
- User Interfaces: Web and HTML
- Practical: We develop a Console App
- Storage: Files and Databases
- Introduction to Java
- Practical: We develop a Web App
- Introducton to JavaScript
- Application Development
The Written Assignments are the examined parts of the course:
Assignment | Size | Description |
---|---|---|
Written Assignment 1 | 2.5 hp | Tools: Git, Docker, Testing and Debugging |
Written Assignment 2 | 2.5 hp | Implementation and Documentation |
Written Assignment 3 | 2.5 hp | Engineering Diary |
The Advanced Exercises are not part of the grading. The intention is to offer hands on experience with the principles and technologies introduced through the lectures. Each lecture has some exercises associated with it.
These exercises make use of many different programming languages and environments. They also make use of slightly more advanced concepts than what you have been introduced to. This is intentional, to give you something to aim for. Feel free to update your engineering diary with concepts that you think you need to learn more about in order to become proficient in these exercises.
The exercises make use of various projects as starting points: