Skip to content

The Advanced Python Programming course builds on the foundational concepts covered in the Introduction to Programming course (BSCS1001). This course spans parts 8 through 14 of the curriculum and dives deeper into object-oriented programming, functional programming, and game development using Pygame.

Notifications You must be signed in to change notification settings

zuuhair11/Python_Programming_MOOC_2024_II--University-of-Helsinki

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Advanced Python Programming Course - University of Helsinki

Welcome to the Advanced Python Programming course (BSCS1002, 5 ECTS) from the Department of Computer Science at the University of Helsinki. This repository contains the course material and exercises for the advanced part of the Python programming series.

Course Overview

The Advanced Python Programming course builds on the foundational concepts covered in the Introduction to Programming course (BSCS1001). This course spans parts 8 through 14 of the curriculum and dives deeper into object-oriented programming, functional programming, and game development using Pygame.

Course Start Date: January 15th, 2024

To successfully complete this course, you will need to complete the programming exercises and participate in an exam. For more details on grading and exams, please refer to the Grading and Exams page.

Course Structure

Part 8: Objects and Methods

  1. Programming Exercises:
    • The smallest average result
    • Row sums
  2. Classes and Objects:
    • List of years
    • Shopping list
  3. Defining Classes:
    • Book
    • Three classes
    • Define class: Pet
    • The older book
    • Books of a genre
  4. Defining Methods:
    • Decreasing counter
    • First and last name
    • Statistics on numbers
  5. More Examples of Classes:
    • Stopwatch
    • Clock
    • LunchCard
    • Series
  6. Quiz:
    • Feedback, part 8

Part 9: Objects and References

  1. Programming Exercises:
    • The fastest car
    • Passing submissions
    • Baby Centre
    • LunchCard and PaymentTerminal
    • Comparing properties
  2. Objects as Attributes:
    • Pets
    • A box of presents
    • The shortest person in the room
  3. Encapsulation:
    • Car
    • Recording
    • Weather station
  4. Scope of Methods:
    • Service charge
  5. Class Attributes:
    • Postcodes
    • List helper
  6. More Examples with Classes:
    • Item, Suitcase and Cargo hold
  7. Quiz:
    • Feedback, part 9

Part 10: Class Hierarchies

  1. Programming Exercises:
    • Laptop computer
    • Game Museum
    • Areas
    • Word game
  2. Access Modifiers:
    • Supergroup
    • Secret magic potion
  3. Object-Oriented Programming Techniques:
    • Money
    • Simple date
    • An iterable shopping list
  4. Developing a Larger Application:
    • Phone book expansion, version 1
    • Phone book expansion, version 2
    • CourseRecords
  5. Quiz:
    • Feedback, part 10

Part 11: List Comprehensions

  1. Programming Exercises:
    • Square roots
    • Rows of stars
    • Best exam result
    • Lengths
    • Remove smaller than
    • Begin with a vowel
    • Lottery numbers
  2. More Comprehensions:
    • Filter forbidden
    • Products in shopping list
    • Price difference of cheaper properties
    • Lengths of strings
    • Most common words
  3. Recursion:
    • Add numbers to a list
    • Recursive sum
    • Balance all the brackets
  4. More Recursion Examples:
    • Greatest node
    • Bosses and subordinates
    • OrderBook
    • Order book application
  5. Quiz:
    • Feedback, part 11

Part 12: Functions as Arguments

  1. Programming Exercises:
    • Sort by remaining stock
    • Sort by number of seasons
    • Sort by ratings
    • ClimbingRoute
    • Climbing areas
    • BallPlayers
    • Product search
  2. Generators:
    • Even numbers
    • Prime numbers
    • Random words
  3. Functional Programming:
    • Attempted courses
    • Filtering attempts
    • Study credits
  4. Regular Expressions:
    • Regular expressions
    • Hockey statistics
  5. Quiz:
    • Feedback, part 12

Part 13: Pygame

  1. Programming Exercises:
    • Four robots
    • Robots in a row
    • A hundred robots
    • Random robots
  2. Animation:
    • Vertical movement
    • Round the perimeter
    • Two robots
    • Robots in a circle
    • Bouncing ball
    • Robot invasion
  3. Events:
    • Four directions
    • Four walls
    • Two players
    • Robot and mouse
    • The location of the robot
  4. More Pygame Techniques:
    • Clock
    • Asteroids
  5. Quiz:
    • Feedback, part 13

Part 14: Your Own Game

  1. Quiz:
    • Own game
    • Feedback, part 14
    • Final quiz, Advanced Course

Progress

  • Introduction to Programming course (BSCS1001, 5 ECTS)
    • Part 1
    • Part 2
    • Part 3
    • Part 4
    • Part 5
    • Part 6
    • Part 7
  • Advanced Course in Programming (BSCS1002, 5 ECTS)
    • Part 8
    • Part 9
    • Part 10
    • Part 11
    • Part 12
    • Part 13
    • Part 14

Notes and Resources

Throughout the course, I will be taking detailed notes and compiling resources to aid in understanding and applying the concepts covered. You can access my notes on Notion using the following link:

My BSCS1002 Notes on Notion

Feel free to explore and use these notes as a supplementary resource to enhance your learning experience.

About Me

Hi there! 👋 I'm Zouhair, a passionate software developer currently diving deep into the world of Python programming. I'm enrolled in the Advanced Python Programming course at the University of Helsinki, where I'm learning about advanced concepts in object-oriented programming, functional programming, and game development using Pygame.

Connect with Me

🔗 LinkedIn
🐦 Twitter

About

The Advanced Python Programming course builds on the foundational concepts covered in the Introduction to Programming course (BSCS1001). This course spans parts 8 through 14 of the curriculum and dives deeper into object-oriented programming, functional programming, and game development using Pygame.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages