English   Danish

2023/2024  KAN-CDIBO1202U  Applied Programming

English Title
Applied Programming

Course information

Language English
Course ECTS 7.5 ECTS
Type Mandatory
Level Full Degree Master
Duration One Semester
Start time of the course Spring
Timetable Course schedule will be posted at calendar.cbs.dk
Study board
Master of Science (MSc) in Business Administration and Digital Business
Course coordinator
  • Abid Hussain - Department of Digitalisation (DIGI)
Main academic disciplines
  • Information technology
Teaching methods
  • Blended learning
Last updated on 14-06-2023

Relevant links

Learning objectives
To achieve the grade 12, students should meet the following learning objectives with no or only minor mistakes or errors:
  • Develop a full stack web application prototype involving frontend, backend and web APIs. (1)
  • Demonstrate ability to identify and discuss different components of full stack web application design. (2)
  • Communicate effectively about strengths and limitations associated with technologies involved in state of the art, full stack web applications design and implementation. (3)
  • Demonstrate knowledge of client and server side application architecture. (4)
  • Be able to reflect and critically discuss about concrete design, development, implementation and testing related to full stack web applications. (5)
  • Be able to relate web enabled software applications to business needs and to identify business limitations to technical implementations (6)
Course prerequisites
The participants of the course should have passed the course Object Oriented Programming or equivalent.
Prerequisites for registering for the exam (activities during the teaching period)
Number of compulsory activities which must be approved (see section 13 of the Programme Regulations): 1
Compulsory home assignments
Each student has to get 1 out of 2 assignments approved in order to participate in the ordinary exam.

Each assignment is made individually and is an online questionnaire.

There will not be any extra attempts provided to the students before the ordinary exam.
If a student cannot hand in due to documented illness, or if a student does not get the activity approved in spite of making a real attempt, then the student will be given one extra attempt before the re-exam.
Examination
Applied Programming:
Exam ECTS 7,5
Examination form Oral exam based on written product

In order to participate in the oral exam, the written product must be handed in before the oral exam; by the set deadline. The grade is based on an overall assessment of the written product and the individual oral performance, see also the rules about examination forms in the programme regulations.
Individual or group exam Individual oral exam based on written group product
Number of people in the group 3
Size of written product Max. 10 pages
An additional appendix for e.g. code and illustrations can be used. Students are also required to submit a zip file that holds all related programming code and database scripts.
Assignment type Written assignment
Release of assignment An assigned subject is released in class
Duration
Written product to be submitted on specified date and time.
20 min. per student, including examiners' discussion of grade, and informing plus explaining the grade
Grading scale 7-point grading scale
Examiner(s) Internal examiner and external examiner
Exam period Summer
Make-up exam/re-exam
Same examination form as the ordinary exam
Description of the exam procedure

The exam is based on a mandatory mini project which the students have to work on during the semester. Students work in a group and this is in addition to the two manadatory assignments. The mini project comprises of a prototype for a full stack web based and smart phone compatible application. The report is based on the proposed prototype. All the groups members are responsible for the project and the content of the report. Regarding hand-in, see my.cbs.dk

Course content, structure and pedagogical approach

This comprehensive course is designed to provide students a high level understanding of the technical components and  processes involved for full stack web enabled applications. Students will learn the fundamental concepts and technologies used in front-end, back-end, and database development, as well as gain insights into the overall software development lifecycle. 

 

By the end of the course, students will have the conceptual skills to identify critical components and practical skills required to build dynamic and interactive web applications prototypes.  Through a combination of lectures, hands-on exercises, and scafolding projects, students will develop the necessary skills to contribute effectively to technical teams, make informed decisions related to web applications development projects, and understand the current trends and technologies and their implications for web platforms for organizations. Students will work in groups to develop web applications, applying their knowledge to real-world scenarios.

 

The course covers following topics:

 

  • Getting familiar with industry trends and emerging technologies in domain of full stack web applications design.
  • Introduction to all components and technologies related to full stack web applications development
  • Understanding roles of front-end, back-end, cloud and database systems in context of software applications
  • High level introduction to database management systems design and its principles
  • Introduction to client and server application architectures
  • Introduction to Web APIs design and implementation
  • Understanding role of Web APIs for data sharing between components of full stack applications 
  • Introduction to Frontend Development using Angular, CSS and Html. 
  • Understand concept of responsive web design to design smart phone compatible web applications
  • Introduction to Backend Development using Dotnet Core
Description of the teaching methods
The course will equip students with the necessary skills and knowledge to develop prototypes for full stack web applications. Through a hands-on approach with help of template applications and strong existing fundamental knowledge of Object Oriented Programming, students will learn the fundamental principles of full stack web application design using ASP.NET Core, Angular, and PostgreSQL.

The course consists of lectures and exercises. These are held as a mixture of theoretical teaching, hands on demo and practical exercises. Students will be provided template projects and are expected to code snippets of code for frontend as well as back end to develop deeper understanding of web application development logics. This will be encouraged both during lectures and during the exercise classes.

The course will be a blended learning course where a number of the lectures will be online and exercises will be on campus.

The student will be using Visual studio and Visual Studio Code as development environment both for Windows and Mac machines. PostgreSQL database management system will be used for database storage.

The presented theories and methods will be applied in practice. There will be hands on exercises and visual presentations of the concept applications to demonstrate students different aspects and technologies associated with full stack web application design, development and testing.

The students work on different real life scenarios for developing small prototypes incrementally learning elements of full stack web application design.

Canvas is used for sharing documents, slides, exercises and for online quiz. For further interactivity short quizzes will be practiced during the lectures.
Feedback during the teaching period
The teacher and any teaching assistants provide feedback during exercise hours as well as electronically using Canvas.

At the end of each exercise session a solution to the exercise questions is provided and the solution is discussed with the students to provide interactive feedback.

There will be two online surveys that will be utilized to provide feedback to the students. The survey will consist of questions from the topics covered so far. The survey will provide feedback for each question in the surveys.
Student workload
Lectures 30 hours
Exercise 20 hours
Normal preparation for lectures, exercises and project work 106 hours
Exam Project 50 hours
Total 206 hours
Expected literature

De Sanctis, V. (2021). ASP. NET Core 6 and Angular: Full-stack web development with. NET 5 and Angular 11. Packt Publishing Ltd.

 

Northwood, C. (2018). The Full Stack Developer: Your Essential Guide to the Everyday Skills Expected of a Modern Full Stack Web Developer. Apress.

 

Bampakos, A. D., & Deeleman, P. (2023). Learning Angular - Fourth Edition: A No-nonsense Guide to Building Web Applications with Angular.

 

Technical documentation of PostgreSQL, Dotnet Core & Angular

 

Lecture Notes

Last updated on 14-06-2023