Syllabus
Course Design and Approach
This class has been specifically designed to be delivered live and in-person to beginners. We will meet in Manning 001 on Monday evenings from 5:45 p.m. to 8:30 p.m.
If you don't fit the target audience, or if you have any questions or concerns with this course design, reach out to me via email before the first class to discuss.
This class will provide an introduction to programming with a focus on the Python programming language. The course will teach you how to use Python, its syntax, and its features. However, the course will present material that is much more fundamental. You will learn a bit about how computers work. You will learn about data representations and structures. You will learn about flow control concepts including conditionals and iteration. You will learn design techniques, best practices, and debugging methods.
Throughout the semester, you'll be given opportunities for hands-on practice. This includes both in-class exercises and homework assignments. This follows a "learning by doing" philosophy which motivates much of this course's design. Given this design, you'll find that many class sessions include classroom exercises on your own laptop. You'll also find that the course schedule includes a large number of assignments, each designed to reinforce different course topics.
This class will require you to invest a significant amount of time to succeed. As a student in this course, you will be asked to complete readings, perform in-class exercises, and code up solutions to homework assignments. There will also be a final exam. Students who invest the required time in these activities will succeed. However, do not wait until the last minute to complete your assignments. If you do, you may find that you simply don't have enough time to do the required work.
Primary Resources
Think Python
This is a new addition to the course. I discovered it just two months prior to teaching this fall 2024 session. The book was just published Summer of 2024, so it is very up-to-date and is highly relevant for dealing with AI helps and working with Google Colabs. It is going to be very helpful addition to our learning arsenal. We will use it a lot. It is 100% online, but you can order a copy for around $45 if you want to have a real book.
Online Version of the Book | GitHub Repository for the Book | Welcome Page on Google Colab
Python Crash Course
Python Crash Course 3 Ed. on Amazon | Free pdf of Python Crash Course 2nd ed. at Archive.org | Python Flash Cards
This a year older than Think Python, but it is still very relevant. You can get the 3rd edition on on Amazon for $26, or you can get a free pdf of the 2nd Edition at Archive.org. See the links below. Be sure to download the pdf and save it to your computer. I will definitely use some of the material from the 2nd edition during our session. I also have the Python Flash cards and will be pulling from them for need-to-know material that will be included in my custom course material.
Secondary Resources
Starting Out with Python, 6th edition
You will only need to download the free Chapter 1 pdf version of this book. The download link is also in the first lesson page where it is mentioned.
My first semester started out very closely aligned with this book. However, as the course progressed, I began to develop my own materials. Most of the code samples on this site are from this book. They are excellent, so we will keep them in the sidebar for reference. We will use some of these samples in class. If you can work through all of them, you will be the better for it, for sure!
The digital textbook is only $43.96 for four months: Starting out with Python 6th Edition I have a copy of the 4th Edition, so I will not be subscribing to the online book this semester.
Other Resources on the Web
We only meet once a week...don't get behind!
The motto for this course is progress, not perfection.
Class Policies
Participation
Class participation is a key element of this course. All students are expected to come to class prepared to be engaged, to participate in all class exercises, and to contribute to group discussions.
In addition:
- Be on time for class.
- If you know in advance that you will be miss a class, arrive late to class, or leave early from class, please let me know ahead of time.
- If you miss class unexpectedly, please let me know why you were absent before the next class meeting.
- Repeated absences or late arrivals will negatively impact your class participation grade.
- If you don't understand something from class, ask questions! You can ask in class, you can stop by my office during office hours, or you can ask on the class discussion forum (see here for more information).
- "Quality is better than quantity." Class participation is part of your grade for this course. However, there are many ways to participate.
Assignments
Submission instructions will be included with each assignment description.
Start early and ask questions. Many assignments may turn out to be more time consuming than expected. It is strongly suggested that you start working on assignments as soon as they are assigned. In this way, you'll have time to ask questions and complete your assignment before the due date.
Exceptions due to special circumstances will be considered on a case-by-case basis. When deemed appropriate, limited extensions may be granted. However, be sure to inform the instructor AS SOON AS POSSIBLE should you require a special accommodation. If a problem is known about in advance, then the instructor should be told before it occurs. Exceptions are much less likely to be provided if requests for accommodation are not made in a timely fashion.
Office Hours
Those with questions about course material, having trouble with assignments, or seeking any other kind of assistance related to class are encouraged to meet with the instructor during office hours. Instructor does not have an office on campus but will be in Manning on Monday afternoons before class and Friday mornings.
Honor Code
All assignments and exams are expected to be completed individually. Students are expected to adhere to the UNC Honor Code. Always turn in work that you have really worked on and documented with comments.
Grading
Your grade for this course will be determined by a combination of three distinct elements: programming assignments, exams, and class participation. The approximate contributions of these three elements to your grade are as follows:
value | item |
---|---|
60% | Assignments (this will include some in-class work during the first module. If you miss class you must make up the in-class work doing a different assignment from what we did in class. I need to know that you know it!) |
25% | Exams |
15% | Class Participation |
If you are actively engaged in class, put in the work, learn how to code, and learn from your feedback, you will finish well.
Please note that class participation grades will be based on general participation during class discussions/activities and class attendance. In some cases, especially in the first section, assignments will be completed during the class session. This is to your advantage if you attend class and to your detriment if you do not attend class.
Campus Resources
Accessibility Resources
The University of North Carolina at Chapel Hill facilitates the implementation of reasonable accommodations, including resources and services, for students with disabilities, chronic medical conditions, a temporary disability or pregnancy complications resulting in barriers to fully accessing University courses, programs and activities. Accommodations are determined through the Office of Accessibility Resources and Service (ARS) for individuals with documented qualifying disabilities in accordance with applicable state and federal laws. See the ARS Website for contact information: https://ars.unc.edu or email ars@unc.edu.
Counseling and Psychological Services
CAPS is strongly committed to addressing the mental health needs of a diverse student body through timely access to consultation and connection to clinically appropriate services, whether for short or long-term needs. Go to their website: https://caps.unc.edu/ or visit their facilities on the third floor of the Campus Health Services building for a walk-in evaluation to learn more.
Title IX
Any student who is impacted by discrimination, harassment, interpersonal (relationship) violence, sexual violence, sexual exploitation, or stalking is encouraged to seek resources on campus or in the community. Please contact the Director of Title IX Compliance (Adrienne Allison – Adrienne.allison@unc.edu), Report and Response Coordinators in the Equal Opportunity and Compliance Office (reportandresponse@unc.edu), Counseling and Psychological Services (confidential), or the Gender Violence Services Coordinators (gvsc@unc.edu; confidential) to discuss your specific needs. Additional resources are available at safe.unc.edu.