I. Course Information:
Title: IS4010: AI-Enhanced Application Development
Course #: IS4010
Credit Hours: 3
Term: Fall 2025
Prerequisites: IS3050
II. Course Description:
This course introduces students to computer programming with a focus on object-oriented principles and the integration of AI-powered tools. Students will develop solutions to process data and implement algorithms in a modern integrated development environment (IDE). The curriculum begins with Python fundamentals and transitions to the Rust programming language for more advanced topics. A central theme is the practical application of AI code assistants (like GitHub Copilot and Gemini) to enhance problem-solving, accelerate development, and prepare students for the future of software engineering.
III. Student Learning Outcomes:
Upon successful completion of this course, the learner will be able to:
- Develop and debug programs in Python and Rust
- Apply object-oriented programming (OOP) principles to create and manipulate classes and objects
- Control program flow using conditional logic and loops
- Store and manipulate collections of data using appropriate data structures like lists and dictionaries
- Write robust programs that gracefully handle unexpected errors
- Fetch and process data from external files (JSON) and web APIs
- Use Git and GitHub for version control in a collaborative environment
- Write effective prompts to leverage AI assistants for code generation, explanation, and debugging
- Understand the core concepts of Rust, including ownership, borrowing, and error handling
IV. Instructor Information:
Name: Brandon Greenwell, PhD
Title: Director, Data Science @ 84.51° / Annual Adjunct Faculty, UC Lindner College of Business
Office Information: NA
Office: Virtual (Teams)
Email: greenwbm@ucmail.uc.edu (use Teams for fastest response!)
Office Hours: By appointment (reach out on Teams)
Communication Policy: Students are encouraged to contact me anytime via the course’s Teams channel. I’m usually very responsive during weekdays and will reply within 24 hours.
V. Course Materials:
Required Tools
- Visual Studio Code (VS Code)
- Git & a GitHub account
- Python 3.10+
- The Rust programming language toolchain
- GitHub Copilot (available for free via the GitHub Student Developer Pack)
Optional Tools
- Gemini CLI (Google’s AI assistant for terminal-based development)
Course Materials & Repository
- No required textbook - All course materials are provided digitally
- Course template repository: https://github.com/bgreenwell/is4010-course-template - Contains all lab assignments, project specifications, and student resources. Students will clone/fork this repository to access assignments and submit their work.
- Lecture slides and additional materials: Available via Canvas and linked from the course template repository’s README
- Submission workflow: All coding assignments are submitted via individual GitHub repositories following the workflow established in Lab 01
VI. Commitment to All Perspectives:
Honest attempts to understand the perspectives of others facilitate learning and we will always strive to achieve this goal. As your instructor, I am committed to creating and fostering a positive learning and working environment based on open communication and mutual respect. If there are aspects of the design, instruction, and/or experiences within this course that result in barriers to your inclusion, participation, or the accurate assessment of your performance and achievement, please let me know.
VII. Link to Pace:
This course aligns with PACE, the Lindner College of Business platform for developing the total business professional.
P – Professionalism
- Enhance oral & written communication through technical documentation, code comments, and project presentations
- Develop and practice teamwork skills through collaborative coding projects and version control workflows
- Practice professional habits of punctuality, preparation, respect and participation in modern software development environments
A – Academics
- Develop foundational knowledge of programming concepts and their applications in real-world software development
- Begin applying programming and AI-assisted development techniques to critically analyze and solve technical problems
C – Character
- Learn and apply leadership techniques for project management in software development (plan, brief, execute, debrief)
- Build an understanding and initial skills of managing varied backgrounds and perspectives in diverse development teams
- Understand importance of ethics and social responsibility in AI-assisted development and software engineering practices
E – Engagement
- Build understanding of importance and practices of networking through interactions with the developer community and open-source contributions
- Develop awareness and appreciation of involvement in technology communities, coding bootcamps, and professional development opportunities
VIII. Instructional Methods:
This course utilizes a hands-on, lab-focused approach. Class time will consist of mini-lectures, live coding demonstrations, and extensive hands-on workshops where students can work on assignments with direct support from the instructor. The course uses Canvas for announcements and grade tracking, and GitHub for all code and assignment submissions. You can access Canvas directly at https://uc.instructure.com. You will be automatically enrolled in a Canvas 101 course that will introduce you to the basics of how to use Canvas – you’ll see that course when you log in.
IX. Duo Multi-Factor Authentication
To reduce data security risks posed by phishing to students, faculty, and staff, the University implemented two-factor authentication (Duo) across most of its systems, including Canvas. In order to access this class’s course materials in Canvas, all students will need to enroll in Duo multi-factor authentication. To enroll in Duo multi-factor authentication, please follow these instructions. The Office of Information Security recommends using the Duo Mobile app on your smartphone for the quickest, most user-friendly experience. Please see the FAQ on this page for a list of alternate options for accessing Duo that do not involve needing a smartphone.
If you do not have access to your phone or other two-factor device, please contact the Lindner IT Service Desk at (513) 556-7159 to obtain a bypass code that will let you log in to Canvas. This code will allow you to log in once.
X. Course Communication:
We will exclusively use Microsoft Teams for all course communication. Join our course Teams channel here: IS4010 Course Team
Students are strongly encouraged to: - Post questions to the General chat - Your classmates likely have similar questions and can benefit from the discussion - Direct message me for private concerns or individual questions - Check Teams regularly for announcements, updates, and peer discussions
This is the fastest way to get help and stay connected with the class community. While university policy requires email as the primary communication method, Teams will be our primary platform for day-to-day course interactions.
XI. Course and Grading Policies:
Course Structure:
Changes to the syllabus, due dates, course requirements or grading requirements will be made as far in advance as possible. Due dates will be clearly marked in Canvas. All assignments will be submitted via GitHub repositories with links provided in Canvas.
Academic Integrity & AI Policy:
As with all Lindner College of Business efforts, in this course you will be held to the highest ethical standards, critical to building character. This course operates on a modern principle: use AI, but use it wisely. The use of AI tools like GitHub Copilot and Gemini is not only permitted but encouraged. However, the goal is for you to learn.
- You are the pilot, AI is the co-pilot. You are ultimately responsible for every line of code you submit
- Always understand the code. If you use AI to generate something, you must be able to explain what it does, how it works, and why it’s the correct solution
- Acknowledge your partner. In your final project, you will be required to document how you used AI tools in your development process
Submitting code you do not understand is considered academic misconduct. The Lindner College of Business “Two Strikes Policy” is in effect:
- All academic programs at the Lindner College of Business use this “Two Strikes Policy”; Any student who has been found responsible for two cases of academic misconduct may be dismissed from the College
- All cases of academic misconduct (e.g., copying other student’s assignments, failure to adequately cite or reference, cheating, plagiarism, falsification, etc.) will be formally reported by faculty; and
- Students will be afforded due process for allegations as outlined in the policy
Accessibility Resources:
The University of Cincinnati provides reasonable accommodation to students with disabilities through the Accessibility Resources office. Accommodations can ensure equal access and provide individualized support for students with diagnosed disabilities. If you have a disability that may influence your performance in this course, you must meet with the Accessibility Resources Office to arrange for reasonable accommodations to ensure an equitable opportunity to meet the course requirements. You can email AccessResources@uc.edu, call 513-556-6823, or stop by the Commons Edge North pavilion (near Daniels/Dabny Hall) to initiate the accommodation process.
Religious Accommodations (Testing your Faith Act):
Ohio law and the University’s Student Religious Accommodations for Courses Policy 1.3.7 permits a student, upon request, to be absent for reasons of faith or religious or spiritual belief system or to participate in organized activities conducted under the auspices of a religious denomination church, or other religious or spiritual organization and/or to receive alternative accommodations with regard to examinations and other course requirements due to an absence permitted for the above-described reasons. Not later than fourteen days after the first day of instruction in the course, a student should provide the instructor with written notice of the specific dates for which the student requests alternative accommodations. For additional information about this policy, please see The Office of the Provost’s page.
Counseling Services, Clifton Campus:
Students have access to counseling and mental health care through the University Health Services (UHS), which can provide both psychotherapy and psychiatric services. In addition, students can receive three free professional counseling sessions upon request through the Counseling and Psychological Services (CAPS). These sessions are not associated with student’s insurance coverage. Students are encouraged to seek assistance for anxiety, depression, trauma/assault, adjustment to college life, interpersonal/relational difficulty, sexuality, family conflict, grief and loss, disordered eating and body image, alcohol and substance abuse, anger management, identity development and issues related to diversity, concerns associated with sexual orientation and spirituality concerns, as well as any other issue or concern. After hours, students may call UHS at (513) 556-2564 or CAPS Cares at (513) 556-0648. For urgent physician consultation after-hours students may call (513) 584-7777.
You can learn more about CAPS services here: https://www.uc.edu/campus-life/caps.html
Learn more about CAPS counselors and counseling services here: https://www.uc.edu/campus-life/caps/support/counselor.html
Let’s Talk
In addition to counseling sessions, CAPS offers “Let’s Talk sessions for students who just want to try out speaking to someone.”Let’s Talk is not therapy. It is a free, confidential, 15-20 minute consultation with a CAPS clinician. Clinicians will listen to your concerns and offer support, information, and resources. Learn more about Let’s Talk and see the current schedule here. ”
Counseling Services at Lindner:
UC has many resources that can support you on your academic journey. One resource that I would like to share with you is Counseling and Psychological Services (CAPS). Dr. LaSondra Wayne is Lindner’s embedded mental health clinician. CAPS provides mental health consultations, individual counseling, group counseling, crisis support and self-help tools to our students. Dr. Wayne supports our students with a variety of needs and experiences such as stress, anxiety, relationship concerns, depression, adjustment to college, learning difficulties and more. Meetings can be in person or via telehealth. Her office is located on the second floor, room 2381. To schedule an appointment with Dr. Wayne, please call 513-556-0648. Learn more about Dr. Wayne on the CAPS website or find her on the Lindner website here.
Title IX:
Title IX is a federal civil rights law that prohibits discrimination on the basis of sex in education programs or activities that receive federal financial assistance. Title IX also addresses instances of sexual violence, dating or domestic violence, and stalking. If a student discloses a Title IX issue to me, I am required to forward that information to the Title IX Office. The Title IX Office will follow up with the student about how the University can take steps to address the impact on the student and the community. They will also inform the student of their rights and direct them to available resources. The priority is to make sure students are safe and successful here at the University of Cincinnati. Students are not required to talk to anyone in the Title IX Office. Students may also directly report any instances of sex-based discrimination, harassment or violence to the Title IX office at (513) 556-3349. Students who wish to know more about their rights and resources on campus can consult the Title IX website or contact the Title IX office directly at (513) 556-3349.
Reports may be filed through the Title IX Office website.
Missed and/or late examinations, quizzes, and graded exercises:
Late submissions will be penalized 10% per calendar day unless prior arrangements have been made with the instructor. Since labs are due on Sundays at 11:59 PM, late penalties begin Monday morning. Extensions may be granted for documented emergencies or health issues. All requests for extensions must be made before the due date when possible.
XII. Course Schedule:
Week | Dates | Module | Topic(s) | Labs (10 pts each) | Notes |
---|---|---|---|---|---|
1 | Aug 26, 28 | Foundations & modern tooling | Course intro, Git, GitHub, developer toolkit | Lab 01 (Aug 31, 11:59 PM) | |
2 | Sep 2, 4 | Foundations & modern tooling | AI code assistants (Copilot, Gemini), prompting | Lab 02 (Sep 7, 11:59 PM) | |
3 | Sep 9, 11 | Python fundamentals | Variables, data types, control flow, and loops | Lab 03 (Sep 14, 11:59 PM) | |
4 | Sep 16, 18 | Python fundamentals | Data structures: lists, tuples, dicts, and sets | Lab 04 (Sep 21, 11:59 PM) | |
5 | Sep 23, 25 | Python fundamentals | Functions and error handling | Lab 05 (Sep 28, 11:59 PM) | |
6 | Sep 30, Oct 2 | Python fundamentals | Object-oriented programming (OOP) | Lab 06 (Oct 5, 11:59 PM) | |
7 | Oct 7 | Building a Python application | Working with files and JSON | Lab 07 (Oct 12, 11:59 PM) | No class Oct 9 (Reading day) |
8 | Oct 14, 16 | Building a Python application | Consuming APIs and midterm project kick-off | Lab 08 (Oct 19, 11:59 PM) | Lab 08 TBD - API project |
9 | Oct 21, 23 | Midterm project | Midterm project workshop | Lab 09 (Oct 26, 11:59 PM) | Lab 09 TBD - Midterm project |
10 | Oct 28, 30 | Midterm & Rust intro | Midterm showcase and introduction to Rust | Lab 10 (Nov 9, 11:59 PM) | |
11 | Nov 4, 6 | New frontiers: Rust | Rust basics, ownership, and the borrow checker | Lab 11 (Nov 16, 11:59 PM) | |
12 | Nov 13 | New frontiers: Rust | Structs and enums | Lab 12 (Nov 23, 11:59 PM) | No class Nov 11 (Veteran’s day) |
13 | Nov 18, 20 | New frontiers: Rust | Error handling, crates, and building a CLI app | ||
14 | Nov 25 | Final project | Final project workshop | No class Nov 27 (Thanksgiving) | |
15 | Dec 2, 4 | Final project | Final project polish and presentation prep | ||
16 | Dec 8-13 | Exam week | Final project presentations (Demo day!) |
Detailed Session Schedule:
Week 1: Foundations & Modern Tooling
• August 26, 2025 (Tues): Welcome to the future of development - Course intro, AI demo, syllabus walkthrough, development environment setup • August 28, 2025 (Thurs): Version control with Git & GitHub - Git workflow, repository creation, clone/commit/push cycle
Week 2: AI Co-pilots
• September 2, 2025 (Tues): Introduction to GitHub Copilot - Code generation, best practices, guided exercises • September 4, 2025 (Thurs): Advanced assistance with Gemini & prompting - Prompt engineering, debugging with AI, code explanation
Week 3: Python Basics & Control Flow
• September 9, 2025 (Tues): Variables, data types, and I/O - Core data types, input/print functions, Mad Libs generator • September 11, 2025 (Thurs): Control statements & loops - Conditional logic, iteration patterns, number guessing game
Week 4: Python Data Structures
• September 16, 2025 (Tues): Lists & tuples - Mutable vs immutable sequences, list methods, data processing tasks • September 18, 2025 (Thurs): Dictionaries & sets - Key-value pairs, hash maps, choosing appropriate data structures
Week 5: Functions & Error Handling
• September 23, 2025 (Tues): Writing clean functions - DRY principle, function arguments, refactoring challenge • September 25, 2025 (Thurs): Error handling - Exception handling with try/except blocks, bulletproofing code
Week 6: Object-Oriented Programming
• September 30, 2025 (Tues): Classes & objects - Class definitions, init method, object instantiation • October 2, 2025 (Thurs): Methods & inheritance - Instance methods, inheritance for code reuse, parent/child classes
Week 7: Working with External Data
• October 7, 2025 (Tues): Files & JSON - File I/O operations, JSON format, contact book application • October 9, 2025 (Thurs): No class (Reading day)
Week 8: Building a Python Application
• October 14, 2025 (Tues): Consuming APIs - HTTP requests, status codes, public API integration • October 16, 2025 (Thurs): Midterm kick-off & brainstorming - Project requirements, planning, scope discussion
Week 9: Midterm Project
• October 21, 2025 (Tues): Midterm workshop & debugging session - In-class development, troubleshooting • October 23, 2025 (Thurs): Final midterm workshop - Last-minute questions and testing
Week 10: Midterm & Rust Intro
• October 28, 2025 (Tues): Midterm showcase - Project demonstrations and peer presentations • October 30, 2025 (Thurs): Why Rust? & Hello, World! - Rust value proposition, Cargo build tool introduction
Week 11: New Frontiers: Rust
• November 4, 2025 (Tues): Ownership & the borrow checker - Core ownership rules, stack/heap concepts, compiler collaboration • November 6, 2025 (Thurs): Rust basics - Variables, data types, functions, Python-to-Rust translation
Week 12: New Frontiers: Rust
• November 11, 2025 (Tues): No class (Veterans Day) • November 13, 2025 (Thurs): Structs & enums - Custom data types, match keyword, modeling application data
Week 13: New Frontiers: Rust
• November 18, 2025 (Tues): Error handling & crates - Result/Option enums, external dependencies, crates.io • November 20, 2025 (Thurs): Building a CLI app - Command-line arguments, filesystem interaction, grep tool creation
Week 14: Final Project
• November 25, 2025 (Tues): Full project work session - Individual consultations, development time • November 27, 2025 (Thurs): No class (Thanksgiving)
Week 15: Final Project
• December 2, 2025 (Tues): Final workshop - Bug fixes, polish, presentation preparation • December 4, 2025 (Thurs): Presentation dry-run & peer feedback - Practice demos, constructive feedback
Exam Week (December 8-13, 2025)
• Finals Session: Demo Day! - Final project presentations and celebration
Total: 26 actual class sessions
XIII. Additional Resources
This section provides a summary of free Large Language Model (LLM) clients that are suitable for students. The landscape of AI tools is constantly changing, so some details may be out of date.
Client Name | Type | Key Features | Free Tier Details | Best For |
---|---|---|---|---|
ChatGPT | Web UI | General-purpose conversational AI for a wide range of tasks | Free access to a highly capable model, with some usage limits | General Q&A, content creation, and exploring creative ideas |
Claude | Web UI | Strong capabilities in creative writing, summarization, and analysis | Free tier with daily message limits | Sophisticated writing tasks and in-depth document analysis |
Gemini on the Web | Web UI | User-friendly interface for direct chat, content generation, and analysis | Free access to a powerful model, with some limits on usage | Everyday tasks, brainstorming, writing assistance, and learning LLM capabilities |
GitHub Copilot | IDE Extension | AI-powered code completion, suggestions, and chat within your editor | Free for verified students, teachers, and maintainers of popular open-source projects | Seamlessly integrating AI assistance into the software development workflow |
Gemini CLI | Command-Line | Direct access to Gemini models, scripting, automation | Free tier with rate limits (requests per minute) | Developers and power users for terminal-based tasks |
LM Studio | Desktop App | Run open-source LLMs locally, offline capability | Completely free software; uses your computer’s resources | Running models offline and experimenting with privacy |
Ollama | CLI / Local Server | Easily run and manage open-source LLMs locally, provides an API | Completely free software; uses your computer’s resources | Developers building applications on top of local LLMs |
Hugging Face Chat | Web UI | Access and chat with a wide variety of open-source models | Completely free to use | Quickly trying out and comparing open-source models |
Poe by Quora | Web & Mobile App | Access a mix of popular models (Claude, Gemini, etc.) in one app | Free daily message limits for most models | Comparing different flagship models, especially on mobile |
Google AI Studio | Web UI | Prototype prompts for the Gemini API, generate code | Free tier with rate limits, same as the Gemini API | Students learning to build with the Gemini API |
Disclaimer: This list is not exhaustive and was last updated on August 2025. The free tiers and features of these services are subject to change. Please refer to the official websites for the most current information.