Lecture X - Programming Projects
Programming with Python
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.