Lecture X - Programming Projects

Programming with Python

Dr. Tobias Vlćek

Kühne Logistics University Hamburg - Fall 2024

Quick Recap of the last Lecture

General

Congratulations

You’ve learned your first steps to program with Python! 🎉

Structure

  • Over the upcoming weeks you will work on a project
  • You will present it in the last week of this course
  • You can work in groups of up to 3 people
  • Choose from a list of ideas or propose your own idea!

Tip

You have enough time to discuss different ideas in your group today. From my experience, it is a good idea to choose a project that you are really interested in.

Presentation

  • Each group has 10 minutes for the presentation with 5 additional minutes for questions
  • Introduce your idea and the development cycle
  • Provide code examples and/or visualizations
  • Comment on challenges and what you’ve learned

Tip

Your project does not have to be perfect! To pass, you simply have to show that you tried your best. Try, fail potentially and learn - that’s the best way to improve your coding skills.

Project Ideas

Idea 1: Data Analysis and Visualization

  • Collect and clean a data of your choice
  • Use libraries like Pandas and Matplotlib for analysis
  • Create visualizations to communicate insights
  • Explore data storytelling techniques

Idea 2: Web Scraping and Data Collection

  • Identify target websites and data to collect
  • Use a library like BeautifulSoup
  • Handle data storage and management
  • Visualize the collected data in a dashboard

Idea 3: Machine Learning

  • Choose a problem and dataset
  • Preprocess data and select features
  • Train models using libraries like scikit-learn or TensorFlow
  • Evaluate model performance and iterate

Idea 4: Web Dashboard Development

  • Design a complex dashboard as web application
  • Visualize some data or implement calculations
  • Make it interesting and interactive
  • Deploy the dashboard

Idea 5: AI Chatbot Development

  • Define chatbot purpose and scope
  • Use prompt engineering to define chatbot behavior
  • Integrate it with an API of your choice
  • Deploy the chatbot in your terminal or as a web service

Idea 6: Computer Vision and Image Processing

  • Work with image or video datasets
  • Explore real-time image processing applications
  • Use a library like supervision and YOLO

Idea 7: Simulation

  • Define the system or process to simulate
  • Model complex interactions and dynamics
  • Analyze simulation results and validate models
  • Visualize the results

Idea 8: Game Development

  • Design game mechanics and storylines
  • Use a library like Pygame to create the game
  • Test and refine gameplay for user experience

Idea 9: Automation

  • Define a task or process to automate
  • Use a library like pyautogui to automate the task
  • Test and refine the automation for reliability

Idea 10: Other Ideas?

  • Have an idea that is not on the list?
  • Let me know and we can discuss it!
  • The best ideas often come from you!

Help over the upcoming weeks

Ask Questions

  • In case you need help, you can always ask me!
  • The next lectures are there to work on your project
  • You can also write me an email at vlcek@beyondsimulations.com

Tip

I am always happy to help you with your project. There are no stupid questions!

Use of AI

  • Feel free to use AI to help you with your project
  • However, you should understand the code you use
  • I’d currently recommend to use VS Code as your IDE
  • If you want to try AI pair programming, use Cursor as IDE
  • It has Claude and ChatGPT integrated

Discuss your ideas!

How to continue?

How to continue after the presentations?

  • The best way to continue learning is to keep programming in the future
  • Potentially, you will continue to do so during your studies
  • Coding in your Thesis is a another great way to improve
  • Try to find a way to apply programming in your work
  • There are many interesting topics to explore!

Advent of Code

  • Advent of Code is a fun way to keep programming
  • Here you can solve programming puzzles during Advent
  • It is completely free and ad-free and starts at 01.12.

That’s it for the Lecture Series!

  • We now have covered the basics of Python
  • I hope you enjoyed the lecture and found it helpful
  • If you have questions or feedback, please let me know!
  • I wish you all the best for your studies and your career!

Literature

Interesting Books

  • Downey, A. B. (2024). Think Python: How to think like a computer scientist (Third edition). O’Reilly. Link to free online version
  • Elter, S. (2021). Schrödinger programmiert Python: Das etwas andere Fachbuch (1. Auflage). Rheinwerk Verlag.

For more interesting literature to learn more about Python, take a look at the literature list of this course.