DevOps with Linux, Python & Django
2024/2025- Purpose and learning objectives
This elective aims to give the student practical skills in developing modern web applications.
Knowledge
The course weighs back-end development at 75% and web infrastructure at 25%.The student will gain knowledge about some of the most important problem areas in back-end web development:
Skills
• the underlying design principles of the Internet and the web design and development of robust protocols and APIs with REST
• design and development of hypermedia-driven web applications
• how back-end components like databases, task queues, caches, and objects storage can strategically be applied
• design accountable solutions
• understanding the HTTP protocol
The student will understand and be able to reflect on questions like:
• challenges and solutions in scaling web applications
• how solutions can be designed around back-end components
• how to reduce the complexity of web development projectsThe student will gain skills to:
Competences
• develop robust and scalable web applications using Python and Django
• develop RESTful APIs
• develop hypermedia-driven web applications
• practically apply back-end components in development projects
• deploy applications on the Internet
• develop accountable solutionsThe student will learn to:
• develop advanced web applications that are robust and scalable using back-end components
• deploy and maintain web applications on the Internet
• develop and implement solutions according to the Internet design principles - Type of instruction
The course is based on Problem-Based Learning. The students are introduced to the Python programming language and the Django web development framework through the development of a simple application as class collaboration. The students must then apply their knowledge in developing a larger application project, where the student must also acquire new knowledge on their own to complete the development. The teacher will act as a supervisor in the development project, so the students are not left on their own.
- Subject/module requirement for
participation
Academic requirement for participation
No special requirements.Equipment needed to participate
Windows PC, Mac or Linux
- min 8 GB RAM (16 GB RAM preferably)
- 200 GB available disk space
- CPU with virtualisation hardware (usually available in most modern CPUs)
- 15,6” screen or bigger is recommended - Exam
The learning outcomes of the exam are identical with the learning outcomes of the subject(s)/modul(es)
Prerequisites for access to the examinationMandatory assignments 1 and 2 accepted.Exam in one or more subjectsSubject/module is tested standaloneType of examCombined written and oral examinationThe exam is individual, but the students can work on their project report and product in groups.Type of assignmentProject developed in Python and Django.Formal requirementsMax. 1 page in bullet-point form must be delivered. The page must contain relevant topics that are supposed to be presented at the exam.
It is possible to make changes to these topics in the oral exam.
The teacher will explain further details regarding the page's content.Individual exam or group examIndividualExam languagesDanish (Norwegian/Swedish)Duration10 min. individual presentation of the project, 15 min. examination in the project and the course curriculum in general, and 5 min. for grading and student change.Permitted exam aidsComputerAvailable exam aidsProjectorType of evaluation7-point grading scaleExaminersInternal censure - Preliminary literature list
This is a preliminary literature list. A final literature list will be provided in connection with study start.Course materials available to the students via Internet.
- Additional information
This elective subject may not run in certain semesters (e.g., if not enough students choose it).
Some classes may take place online.
In the subject DevOps with Linux, Python & Django you will receive 80 hours of instruction, which corresponds to 106 lessons (1 lesson = 45 min.) and 29% of your total workload for the subject.
The teaching primarily consists of the following activities: classroom teaching, project work, peer-review, Online teaching.
The preparation primarily consists of the following activities: project work, searching for information, reading the curriculum, group work, reading your own notes.
Read about KEAs Study Activity Model
*KEA can deviate from the number of hours if this is justified by special circumstances