Skip to content

ElinEunjung/python-exam-project-pgr107

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Version Status Team School

🐍 Python Exam Project – PGR107

This repository contains the source code for the PGR107 (Python Programming) Final Exam project, submitted in Spring 2025 at Kristiania University of Applied Science.

👥 Contributors

This project was completed as a group assignment by the following students:

  • Athiththiyan - Question 1
  • Elin - Question 2
  • Ivan - Question 3 and 4

📝 Task Overview

The exam consisted of four individual programming tasks:

  • Q1: Word Guessing Game - Implement a game where users guess letters to reveal a hidden word.
  • Q2: Library Management System - Implement classes to manage books and borrowing.
  • Q3: Bank Account Management System - Simulate basic banking functions via CLI and OOP.
  • Q4: Palindrome Checker - Verify whether a user-entered string is a palindrome.

✍️ Task Distribution and Code Review

Tasks were distributed based on complexity to ensure a fair workload. Each team member also performed sub-review, which included:

  • Functionality testing
  • Adding comments and Pythonic docstrings ("""Explanation""") for all function/class
  • Implementing exception handling (try-except blocks).
Team member Main Responsibility Sub-review Tasks
Athiththiyan Q1 Q2, Q3, Q4
Elin Q2 Q1, Q3, Q4
Ivan Q3 + Q4 Q1, Q2

🤝 Team Collaboration & Workflow

While each member had clear implementation duties, our collaboration was the key to success:

  • 🔀 Version Control – GitHub was used for branching, commits, and merging with mandatory code reviews.
  • Review Process – Each PR required 2 approvals from peers before merging.
  • ✍️ Clean Code Agreement – We aligned on naming conventions, modular functions, and readable logic to ensure consistency.

🚫 Note: The main branch is protected.
All code contributions must be made via Pull Requests and require 2 approved peer reviews before merging.

📌 See Git Workflow and Peer Review Process for details.

📁 Project Structure

File/Folder Description
q1_word_guess.py Word Guessing Game (by Athiththiyan)
q2_library.py Library System (by Elin)
q3_bank_account.py Bank Account System (by Ivan)
q4_palindrome.py Palindrome Checker (by Ivan)
word_guess.txt Word list for Q1 (by Athiththiyan)
README.md Project overview and documentation (by Elin)
docs Supplementary documents for project guidelines (by Elin)

🎓 What We Learned

This project wasn’t just a programming exercise — it was a chance to experience real software teamwork. Through this process, we learned:

  • How to manage GitHub collaboration with pull requests and protected branch
  • The value of peer reviews in improving code quality and catching bugs early
  • How to write clean, Pythonic code with documentation and modular structure
  • The importance of clear communication, shared standards, and mutual trust
  • How to split tasks fairly and hold each other accountable without losing team spirit

We’re proud not just of the result, but of how we worked together to get there.

✅ Notes

  • All code follows the PGR107 final exam requirements and standard Python coding conventions.
  • Each team member completed their assigned task(s) and contributed to peer review for at least two additional tasks.
  • Plagiarism was strictly avoided, as per the exam regulations.

📄 Additional Documentation:
The README.md file and the contents of the docs/ folder were created voluntarily and were not required by the exam.
They were added to showcase our collaboration, professional workflow, and clear documentation practices — values we consider essential in software development.

About

Final exam project for PGR107 Python Programming (Kristiania University of Applied Sciences, Spring 2025). Four CLI-based mini applications developed collaboratively using GitHub flow, code reviews, and clean coding principles.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages