Skip to content

Repository files navigation

IT1009C: Introduction to Python for Information Technology

Program Overview

This repository contains beginner-friendly learning materials for a 1-credit Python course designed for students with little or no programming background, particularly those from non-computing disciplines.

The course adopts a hands-on, utility-first approach using guided notebooks, short practice tasks, and practical examples grounded in real-world information technology contexts. The emphasis is on developing computational thinking through active learning, enabling students to write small, clear, and purposeful programs.

The course provides approximately 12 hours of structured, guided instruction, with additional time expected for independent practice, reflection, and completion of a guided mini project.

This course is intended as a foundational introduction to programming literacy, rather than a comprehensive programming course.


Python and Career Pathways

Python is widely used across multiple areas of modern computing, including:

  • data analysis and data science
  • artificial intelligence and machine learning
  • software development and IT systems

This course introduces the foundational skills needed to begin exploring these areas. Students do not need to choose a career path now—this course provides the starting point.

Course Overview

Visual overview of the IT1009C notebook sequence from Python context through the guided mini project


Launch with Binder

Launch Binder

Click the button above to start the course instantly in your browser. No Python installation is required.

The first Binder launch may take a few minutes while the course environment loads. This is normal. If Binder is slow or does not load, see the setup options in setup/.


Who This Is For

  • IT, CIS, and non-CS majors learning programming for the first time
  • high school and first-year college introductory programming learners
  • workforce development and bridge programs

What Students Will Learn

Students will practice how to:

  • run Python code in notebooks
  • use variables and output
  • collect input from a user
  • work with numbers, text, and simple data
  • use conditionals to make decisions
  • use loops to repeat actions
  • store values in lists
  • write simple functions
  • read error messages and debug code
  • build a small guided mini project

Course Structure

The course begins with a getting-started notebook, then moves through Modules 1–12. Each notebook introduces a small set of Python ideas, shows examples, and provides guided practice.

Start with:

Then continue through the notebooks in order. Module 11 is a light preview of where Python can go next; dictionaries and libraries are not core mastery requirements. The final notebook is a guided mini project that integrates input, variables, conditionals, loops, lists, output, testing, and reflection.


How to Get Started

If you are a student, begin with the 5-minute start guide:

This guide explains how to launch Binder, run code cells, complete activities, and handle basic errors.


Recommended Workflow

  1. Launch the course with Binder
  2. Open the notebooks/ folder
  3. Start with 00_getting_started.ipynb
  4. Work through notebooks in order
  5. Run code cells from top to bottom
  6. Complete TODO activities and reflections
  7. Save or download your work if needed

For Instructors & Institutions

This repository is designed to be easily adopted and adapted by instructors, schools, and institutions.

Suggested Use Cases

  • High school introductory programming courses
  • First-year college or freshman seminar courses
  • Summer bridge or STEM readiness programs
  • Community or workforce development workshops

Getting Started

  1. Review the PROGRAM_OVERVIEW.md for course design
  2. Follow the INSTRUCTOR_GUIDE.md for delivery recommendations
  3. Use notebooks in sequence (00 → 12)
  4. Adapt examples to your students’ context

Customization

Instructors are encouraged to:

  • modify examples to reflect local or disciplinary context
  • adjust pacing based on student experience
  • use selected modules if time is limited

Requirements

  • Jupyter Notebook, Google Colab, or similar environment
  • No prior programming experience required

Repository Structure

Folder or File Purpose
notebooks/ Guided course notebooks for each module
templates/ Reusable templates for labs, projects, reflections
docs/ Student-facing guidance (AI use, submission, FAQs)
setup/ Binder, Colab, Replit, and troubleshooting instructions
data/ Optional synthetic sample datasets for instructor-created extensions; file reading is not part of the core course
COURSE_MAP.md Module-by-module overview
ASSESSMENT_OVERVIEW.md Student-facing assessment expectations
PROGRAM_OVERVIEW.md Program design and goals
INSTRUCTOR_GUIDE.md Teaching and delivery guidance
IMPACT_METRICS.md Evaluation and outcome tracking

AI Usage Note

AI tools may support learning (e.g., explaining errors or providing hints), but must not replace student understanding or practice.

Students should review:


Instructor Note

Detailed instructor-facing assessment and support materials are maintained separately and are not part of this public repository.

Instructors interested in adopting or adapting this course are encouraged to contact the repository maintainer.


Course Learning Outcomes

By the end of this course, students will be able to:

  1. Apply fundamental Python constructs (variables, data types, control structures) to solve simple problems
  2. Develop and debug basic Python programs addressing real-world scenarios

Developed By

Isaac. K. Nti
Assistant Professor, School of Information Technology, University of Cincinnati


License

  • Code: MIT License (LICENSE)
  • Educational Materials: Creative Commons Attribution 4.0 (CC BY 4.0)

This project is distributed as Open Educational Resources (OER) to support broad educational use, institutional adoption, and adaptation.

About

This repository contains beginner-friendly learning materials for a 1-credit Python course. It is designed for students with little or no programming background, especially students from non-computing disciplines.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages