TECH5 Programming and Application Design
Autumn 2026
Spring 2026-
Topics
TECH5 serves as the bridge between basic scripting and professional software development. While TECH2 introduced the syntax of programming, TECH5 focuses on architecture: how to structure code to build scalable, robust, and maintainable applications that solve real-world business challenges.
In the modern digital economy, business leaders must understand not just how to write code, but how software systems are designed, how they store data, and how teams collaborate to deliver them. TECH5 builds upon the programming basics covered in TECH2 and complements the analytical principles of TECH3 and TECH4. It teaches students how to build the underlying systems that generate and manage business data.
Key Course Questions In this course, we move beyond writing single scripts to answering strategic development questions:
- Structure: How do we use Object-Oriented Programming (OOP) to model complex business entities and processes?
- Data Persistence: How do we architect relational databases (SQL) and integrate them seamlessly into application logic?
- Collaboration: How do development teams use version control (Git) to manage code evolution and resolve conflicts?
- Lifecycle: How do we move an application from a concept to a deployed solution using modern DevOps workflows?
Course Structure The course is organized into three interconnected modules:
- Module 1: Object-Oriented Design & Architecture (1/3) Focuses on the "Blueprint" of software. Students learn to move beyond procedural coding to Object-Oriented Programming (OOP). We explore encapsulation, inheritance, and polymorphism to create modular code that mirrors real-world business structures (e.g., modeling financial portfolios or supply chains).
- Module 2: Data Persistence & SQL (1/3) Focuses on the "Memory" of software. Applications need to store and retrieve data efficiently. This module covers the architecture of relational databases and the implementation of SQL queries. Students learn to connect their Python applications to databases to create persistent systems.
- Module 3: Collaborative Project (1/3) Focuses on the "Process" of software. This module covers the Software Development Lifecycle (SDLC). Students utilize Git for version control and explore DevOps principles to understand how modern teams deliver reliable software.
-
Learning outcome
Upon completion of the course, students can:
Knowledge
- Explain the core principles of Object-Oriented Programming (OOP), including encapsulation, inheritance, and overloading, and how they structure modern software.
- Describe the architecture of relational databases and the specific role of SQL in storing, manipulating, and retrieving data.
Skills
Upon completion of the course, the student can:
- Design and implement intermediate-level Python applications that utilize classes, objects, and modular code structures to solve specific business problems.
- Construct complex SQL queries to interact with relational databases and integrate these data sources into application logic.
- Utilize an Integrated Development Environment (IDE) to streamline the coding process, employing AI-features for debugging, refactoring, and project management.
- Apply version control best practices using Git to manage code evolution, including branching, merging, and resolving conflicts within a collaborative workflow.
General Competence
Upon completion of the course, the student can:
- Collaborate effectively within a development team, adhering to coding standards and recognizing the importance of communication in successful projects.
- Analyze complex business requirements and translate them into technical software solutions using appropriate design patterns.
- Evaluate the software development lifecycle (SDLC) as a continuous, iterative loop rather than a linear process.
-
Teaching
The course will consist of lectures and workshops for the first two modules. The last module is a collaborative Project with a student-centric environment where the students will take charge of the project and the course responsible will act mainly as a consultant for the teams.
Pedagogical Approach: The Collaborative Project In a student-centric environment, TECH5 mimics a professional software task. Students will work in development teams to tackle a business application project during the third module.
In this module, students are exposed to a "hackathon-style" challenge where they must engineer a solution to a business problem (e.g., a resource allocation system or inventory manager). By using Integrated Development Environments (IDEs), AI coding assistants, and GitHub, students gain first-hand experience in the technical and communicative skills required to lead digital projects in the business world.
-
Recommended prerequisites
TECH3 and TECH4
-
Compulsory Activity
There will be two mandatory assignments in the semester and a Collaborative Project. All must be submitted and approved for the course approval.
-
Assessment
4-hour digital school exam with access to visual studio code with python.
-
Grading Scale
A - F
-
Computer tools
Visual Studio Code, Python, and a relational database management systems such as postgresql and sqlite.
-
Literature
Ljubomir Perkovic, Introduction to Computing Using Python, an application development focus. 2nd edition.
-
Permitted Support Material
One bilingual dictionary (category I).
All in accordance with Supplementary provisions to the Regulations for Full-time Study Programmes at the Norwegian School of Economics Ch.4 Permitted support materialhttps://www.nhh.no/en/for-students/regulations/https://www.nhh.no/en/for-students/regulations/and https://www.nhh.no/en/for-students/examinations/examination-support-materials/https://www.nhh.no/en/for-students/examinations/examination-support-materials/
-
Retake
Retake is offered early in the non-teaching semester for students who were registered for the exam at the time of the assessment in the teaching semester, and did not achieve a passing grade. Other students may retake the exam the next time the course is offered.
For detailed information regarding the retake policy, please visit our website: https://www.nhh.no/en/for-students/examinations/retake-of-exams/ (copy url).
Overview
- ECTS Credits
- 7,5
- Teaching language
- English
- Teaching Semester
Autumn. Offered autumn 2026 (first time)
Course responsible
Associate Professor Julio C. Góez, Department of Business and Management Science (main course responsible)
Associate Professor Lars Jaffke, Department of Business and Management Science
Associate Professor Paloma Thomé de Lima, Department of Business and Management Science