Skip to main content

Syllabus

Course Design and Approach

target student info

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.

We will complete work in the first class that needs to be turned in at the end of the first class and will count towards your final grade. This cannot be made up if you miss the first class and fail to reach out to me in advance.

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.

caution

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 in our text book, 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.

Resources

Required Text: Starting Out with Python, 6th edition

Starting out with Python 6th Edition

Digital Textbook $43.96 for four months: Starting out with Python 6th Edition

Some of the benefits of the online book:

  • is the 6th edition and is completely up-to-date
  • all of the sections align with this course site
  • the information in the class site closely follows this 6th edition
  • more affordable than the printed 6th edition
  • contains multiple video demonstrations in each chapter
  • has interactive checkpoints to confirm that you have absorbed the material
  • Has live code samples
  • has animated walkthroughs that step through the code

I have purchased this version, so I will be able to answer any issues you might have in using it.

Get very familiar with the Code Samples from the book

Here is a link to the Basics Code Samples we will begin to work through in the first class.

You should get to the point where you can quickly click through these, in order, and confirm that the concepts are getting into your long-term memory!

These are all samples from our required book.

Optional: Python Crash Course

Python Crash Course

I also recommend Python Crash Course Third Edition.

It is not a required book, but I really love this book! It is a great book for self-learning Python. I ordered the spiral-bound version and loaded it up with post-it notes tabs for quick reference. I used it along with The Gaddis Text last summer to prep for teaching this fall.

Other Resources on the Web

We only meet once a week...don't get behind!

caution

We will have two extra long gaps between Mondays during the Fundamentals section because we will skip over two Mondays in September: September 4, Labor Day Holiday; and September 25th, a Wellness Day.

Foundational material that we cover in the first module really needs to be mastered in order to advance through the rest of the course.

If you don't practice what you have learned over the two missed weeks, you are likely to fall behind and not be able to catch up. Therefore, it is in your best interest to open your code editor and practice some every day.

tip

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

Assignments are due by the start of class on the day they are due unless otherwise specified. For assignments that are due on days when class is not scheduled, they must be submitted by the normal class starting time (even though class is not meeting) unless otherwise specified.

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:

valueitem
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.