OIM3640 - Problem Solving and Software Design

2025 Spring

Session 25 (4/24)

contain

Today's Agenda

  • Welcome/News/Announcements
  • How Web Works
  • Lecture:

Welcome/News/Announcements

  • Assignments/Project:
    • Assignment 3 (Web App): due tomorrw
    • Project:
      • I am available to discuss your project progress.
      • Final Submission: due 5/03
  • Remaining Sessions:
    • 4/29: Semester Wrap-up and Final Project Demo (not mandatory)

What we have learned so far...

  • Fundamental Concepts
    • Variables, Expressions, Statements, Functions
    • Pseudo-code, Error Handling, Debugging
  • Data Types: int, float, string, boolean, Nonetype, string, list, dictionary, tuple, set
  • Control Flows: Conditionals, Iterations
  • Advanced Programming Concepts
    • APIs
    • I/O Programming
  • Applications
    • Building Web Application using Flask

Front End/Back End/Full Stack Web Development

Web Scraping

Data x Python

--- # Assignment 2 & 3 Feedback 1) **API** is awwesome! 2) **Flask** is awwwesome! 3) Collaborate using **GitHub** 4) Effective **Debugging** Techniques 5) Getting help from **ChatGPT** 6) How to 1) Build a **larger project**? 2) Utilize more **APIs**? 3) Process **larger and complex data sets**? 4) Integrate with **database**? 5) **Deploy** to a server (e.g., [PythonAnywhere](https://help.pythonanywhere.com/pages/Flask/), [Render](https://render.com/docs/deploy-flask), [Railway](https://alphasec.io/how-to-deploy-a-python-flask-app-on-railway/), [Heroku](https://realpython.com/flask-by-example-part-1-project-setup/))

--- # Improve VS Code Experience (cont'd) - **Appearance** - [VS Code Themes](https://vscodethemes.com/) - [Coding Fonts](https://coding-fonts.netlify.app/), [142 Programming Fonts](https://www.programmingfonts.org/) - **Extensions**: - **Code Formatting**: Black Formatter/Ruff, isort, Prettier - **Documentation**: Markdown All in One, Better Comments, Code Spell Checker - **Fun**: Power Mode, vscode-faker - **Utility**: Live Server, Rainbow CSV, Edit csv, SQLite Viewer, Draw.io - **AI**: IntelliCode, Copilot