OIM3600 - Computer Science for Business Students

Session 25 (11/25)

contain

Today's Agenda

  • Welcome/News/Announcements
  • GenAI
    • Using OpenAI API
  • Automation
  • Working on Final Project (~30 mins)
  • Collaborate with Git/GitHub (if time allows)

Welcome/News/Announcements

  • Final Project:
    • Due on 12/03, Tuesday
    • Finish Project Proposal before end of this class.
  • Sessions 26 (Required, online):
    • Wrapping up the semester
  • Communications:
    • Slack - for debugging, clarifications, real-time discussion, casual chat, etc.
    • Email - specify course # in subject title, e.g., "OIM3600: GitHub settings"
    • Meet with me in person during office hours at least once this semester.

What we have learned so far

  • Encoding: ๐Ÿ” ๐Ÿ”ข๐Ÿˆถ๐Ÿ˜‚๐ŸŸฅ๐ŸŸฉ๐ŸŸฆ๐Ÿ–ผ ๐Ÿ“ฝ ๐ŸŽผ
  • Tools: Editors, Git/GitHub
  • Programming:
    • Variables, Expressions, Statements, Functions
    • Types: int, float, string, boolean, Nonetype, list, dict, tuple, set...
    • Control flows: Conditional, Iterations
  • Algorithms: Binary search, insert sort, bubble sort, selection sort, ...
  • API
  • Database and SQL
  • Internet
  • Web: HTML, CSS, JavaScript
  • Web Applications using FastAPI

GenAI

OpenAI API Quick Start

Automation

What to Automate?

  • Routine tasks
    • What tasks do you repeat daily or weekly in your personal life or work?
    • Are they time-consuming or error-prone?
  • Pick a task and list its steps.
    • Which step feels hardest or slowest?
    • Which step often leads to mistakes?
    • What is the input? Do you need to retrieve data from files, Excel, or websites?
    • What is the format of output?
    • What tools/platforms do you currently use? What frustrates you most?
  • Imagine Automation
    • Write how automation could simplify the process.

Reddit Discussions on Automation

Python for Automation

Final Project

  • Project Instruction
  • Project Teaming
    • You can work individually or in a team of two.
  • GitHub repository for project
    • Only one creates a public project repository.
    • The other member needs to fork this repository as a contributer.
  • Additional requirements:
    • Discuss your project idea with me.
    • Create a brief project proposal in a markdown file within your repository before writing code.

Final Project Proposal (Using Markdown)

  • Title
    • A concise, descriptive project title.
  • Members
    • List the names of team members.
  • Objective:
    • Describe the main goal in 1-2 sentences, focusing on the problem it solves or the value it provides.
  • Tech Stack & Resources:
    • List any technologies, libraries, frameworks, APIs, tools, or resources needed.

About Project

Collaborate with Git/GitHub

  • Make your First Contribution (OIM3600/oim3600-first-contributions-2024fall):
    • Fork the repository to your account and clone it to your computer.
    • Create a branch add-<your-name> (or feature/bugfix in real projects.)
    • Add your name and Github link to Contributors.md, and commit.
    • Push the changes to GitHub.
    • Open a pull request from your branch for review and wait be merged.
    • Repeat above with a new branch for a new contribution (e.g. new .py file.)
  • As a Project Owner/Maintainer
    • Manage contributions by reviewing and merging pull requests, maintaining project branches, and addressing issues.
  • Recommendation: Step-By-Step Team Workflow with GitHub Desktop