DEV Community

Cover image for Automating my University's STS Course & Lecturer Evaluation Process with Python + Selenium
Owusu Ansah Joy
Owusu Ansah Joy

Posted on

Automating my University's STS Course & Lecturer Evaluation Process with Python + Selenium

They say automating repetitive tasks is the new way of life, so I built something to make one of the most tedious student activities a lot easier.

🎯 The Problem
Every semester before exams, students at the University of Ghana are required to complete Course and Lecturer Evaluations on the STS portal.

The process is:

  • Log into STS
  • Select "Evaluate Course" for each registered course
  • Choose the lecturer
  • Fill in 21+ radio questions
  • Add comments
  • Submit

It’s time-consuming, repetitive, and easy to forget — which can lead to last-minute panic.

Sts Portal

💡 The Solution
I built a Python automation script using Selenium that:

  1. Logs into the STS portal automatically.
  2. Iterates through all courses that require evaluation.
  3. Selects the lecturer (with user input if multiple lecturers exist).
  4. Fills all required radio buttons and comment boxes.
  5. Waits for you to review the form and click Submit manually (to comply with school policy).
  6. Once evaluations are complete, it logs out and starts the daily check-in process as well.

🛠 Tech Stack

  • Python 3
  • Selenium WebDriver
  • dotenv for credential management
  • Chrome WebDriver for browser automation

📹 Demo & Code

YouTube Demo: Watch Here

GitHub Repo: View Code

🔮 Future Plans

  1. Optional auto-submit (with caution, still requires compliance with policies).

  2. Automatic lecturer detection if only one exists.

  3. Improved reporting after each run.

Top comments (3)

Collapse
 
onlineproxy profile image
OnlineProxy

Yeah, tons of students, devs, and IT folks have cooked up automations for academic stuff using tools like Selenium, Playwright, or BeautifulSoup. These scripts usually tackle the boring, repetitive bits-think scraping grades, auto-filling evals, or syncing class schedules. Stuff like CAPTCHAs, weird dynamic forms, and locked-down logins can be a real pain. That said, always play it smart: get consent, follow the site’s rules, and don’t mess with data integrity. Never impersonate someone or run things without a way to manually step in if things go sideways. On the security side, keep secrets outta your code-use environment variables or secret managers. And for user-friendliness, adding a basic GUI or logging headless browser actions can really help folks see what’s going on under the hood.

Collapse
 
aduuuna profile image
Owusu Ansah Joy

Thanks for the head up

Some comments may only be visible to logged-in visitors. Sign in to view all comments.