This repository contains all the ACCESS assignments for the Informatics 1 lecture at the University of Zurich (UZH). Each assignment is organized in its respective folder, with the folder name indicating the topic of the assignment.
No git-coding no
60 Points total
- 3x kPrim: each 3 points --> Total 9
- 7x programming: each from 6 to 11 points --> Total 51
- Assignment: Getting started
- Assignment: Function basics
- Assignment: Functions
- Assignment: Loops and more
- Assignment: Classes and more
- Assignment: Classes and inheritance
- Assignment: Special methods
- Assignment: Testing
- Assignment: Recursion
- Assignment: TBD
- Assignment: TBD
-
Hello-World
Introduces Python programming by guiding you to write and execute your first "Hello, World!" program, showcasing basic syntax and output. -
Installing-Python
Step-by-step guide for installing Python on various platforms, including configuring the environment and verifying installation success. -
Variable-Assignment
Explains variable assignment, naming conventions, data types, and basic operations to manipulate variables in Python. -
Setup-IDE
Guides the installation and configuration of an Integrated Development Environment (IDE) such as PyCharm or VS Code for efficient Python development.
-
Arithmetic Expression
Teaches writing basic arithmetic functions to evaluate mathematical expressions with dynamic inputs. -
Greeting
Guides the creation of a function to dynamically generate personalized greeting messages. -
Ice Cream Shop
A practical exercise in building a function to simulate orders in an ice cream shop, showcasing parameter handling. -
Math Zoo
Demonstrates how to create and combine mathematical operations using function calls. -
Set Operations
Explains set theory concepts and operations like union, intersection, and difference through functions. -
Transform String
Teaches building functions to manipulate and transform strings, including case conversion and replacements.
-
Bank Loan (Higher-Order Function)
Develops a higher-order function to evaluate bank loan eligibility based on provided criteria, showcasing functional programming concepts. -
BMI Calculator
Implements a function to calculate Body Mass Index (BMI) and provide health recommendations based on the result. -
List Comprehensions
Teaches list comprehensions as a Pythonic way to create lists, with practical examples for data processing and filtering. -
ROT13
Implements a function to encode and decode strings using the ROT13 cipher, exploring string manipulation techniques. -
Tax Calculator
Creates a function to calculate income tax based on progressive tax brackets, demonstrating conditional logic and arithmetic operations. -
Warehouse Stock
Develops a function to manage stock in a warehouse, including adding, removing, and querying items dynamically.
-
Data Compression
Explores algorithms for compressing data using loops and conditional logic to reduce redundancy. -
Dictionary Comprehensions
Demonstrates Pythonic ways to create dictionaries with loops and conditionals, providing concise and efficient methods. -
Hamming Distance
Implements a function to calculate the Hamming distance between two strings, applying loops and conditionals for comparison. -
Invert Dictionary
Develops a function to invert keys and values in a dictionary, showcasing iteration over dictionary items. -
IP Validation
Teaches how to validate IP addresses by splitting strings and applying logical checks within loops. -
Is Prime
Implements a function to check if a number is prime, using efficient looping mechanisms to reduce computational overhead. -
List Comprehensions
Revisits list comprehensions to apply looping logic in a compact and efficient manner for data manipulation.
-
Custom Calendar
Implements a class to create and manage custom calendar objects, providing methods for adding and retrieving events. -
Juliet's Number
Develops a class to model a sequence or a mathematical concept, showcasing encapsulation and method functionality. -
Merge Lists
Introduces a class to merge and manage multiple lists efficiently, using object-oriented techniques. -
Profanity Filter Class
Implements a class to filter profanities from text using customizable word lists and string processing methods. -
Rotating Dominos
Creates a class to simulate and manage a domino rotation system, demonstrating state management within objects. -
Sieve of Eratosthenes
Builds a class to compute prime numbers using the Sieve of Eratosthenes algorithm, integrating object-oriented principles.
-
Bank Account
Implements a class hierarchy to model different types of bank accounts, demonstrating inheritance and method overriding. -
Drawing Board
Creates a base class for a drawing board and subclasses for specific shapes, showcasing polymorphism and subclass-specific behavior. -
Geometric Objects (Inheritance)
Develops a hierarchy of geometric objects, like circles and rectangles, to demonstrate shared and unique attributes through inheritance. -
University Course Management
Models a university course system with classes for courses, students, and professors, demonstrating complex inheritance structures and relationships.
-
Fridge
Implements a class for a virtual fridge with support for adding, removing, and checking items using special methods. -
Movies Composition
Develops a class to manage movie details, showcasing composition and integration of multiple objects. -
Matrix Abstraction
Builds a matrix abstraction class with special methods for arithmetic operations and indexing. -
Reverse Indexing
Introduces a class with customized indexing behavior, including reverse indexing using__getitem__
. -
Publication Data Structure
Creates a class to manage publication records, demonstrating usage of special methods for iteration and representation.
-
Blackbox Testing: Arrays Overlap
Implements blackbox testing for a function that checks for overlapping elements between two arrays, focusing on input-output behavior. -
Blackbox Testing: Sort
Tests the functionality of a sorting algorithm through blackbox testing, verifying correct order and edge cases. -
Regression Test: Median
Conducts regression testing for a function calculating the median of a dataset, ensuring backward compatibility. -
Game Moves
Develops tests for a game simulation, validating the accuracy and correctness of implemented moves and outcomes.
-
Factorial
Implements a recursive function to calculate the factorial of a given number, demonstrating base and recursive cases. -
Powerset
Develops a recursive algorithm to generate all subsets of a given set, highlighting recursion in combinatorics. -
Flatten List
Creates a function to recursively flatten nested lists into a single-level list, showcasing recursion with data structures. -
Palindrome
Implements a recursive function to check whether a string is a palindrome, emphasizing character comparisons and string slicing. -
Towers of Hanoi
Simulates the Towers of Hanoi problem using recursion, including disk moves and tracking state transitions. -
Knapsack Problem
Develops a recursive solution to the 0/1 knapsack problem, demonstrating optimization with recursion and decision-making.