Lecture X - Programming Projects

Programming with Python

Author
Affiliation

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

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 user dashboard as web application
  • Use a library like Dash
  • Visualize some data or implement calculations
  • 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

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.