CS 152 Python for STEM is intended as the first programming course for students with no prior programming experience to learn the basics of programming using the Python 3 language. This 2-credit course is ideal for students seeking an introduction to Computer Science as a possible major or minor, and students in other majors that wish to learn some basic programming skills for use in their field.

Upon completion of this course, students should be able to:

  • Write small programs in the Python programming language.
  • Use appropriate data types to represent and manipulate information.
  • Use logic and functions to implement algorithms that solve problems.
  • Interact with external files to obtain and record information.
  • Use libraries of existing Python functions and create new function libraries.

Instructor Information

Instructor: Ariana Mims
Email: ariana.mims@colostate.edu

Communication Policy: I primarily use Microsoft Teams for communication such as meetings, course curriculum / content questions, and things that need more immediate attention. I will respond as quickly as I can, usually within 48 hours. For matters such as regrades, extensions, accommodations, please utilize the course email. Email me directly with private matters such as family deaths, mental health issues and things of that matter. Always list what course you are enrolled in when contacting me. Never contact me via direct message on Canvas.

Prerequisite

This programming course requires a student to possess basic algebra skills (MATH 118) to successfully complete assignments.

Textbook

This source uses zyBooks for reading activities, labs, and programming assignments.

Weekly Activities

This is an accelerated 8-week course that moves quickly, with three lectures and two programming assignments each week. This course is taught using zyBooks, a tool that combines reading, activities, and assignments.

  • Lectures have a reading assignment, and participation activities that you must complete beforehand.
  • All activities, recitations, and assignments are submitted and graded in zyBooks, with the results posted on Canvas.
  • Only exams are completed in Canvas.
DayActivityDue
MonLectureR# zyBook Participation due before lecture.
TueProgramP# Lab and Programming Assignment check Canvas for due dates
WedLectureR# zyBook Participation due before lecture.
ThuProgramP# Lab and Programming Assignment check Canvas for due dates
FriExamsCanvas exam and Coding exams weeks 3, 6, and 8.

Grading

The course grading requires the student to demonstrate a grasp of the programming concepts and the Python language through a variety of activities. This table describes the activities used in this course and their weight in the final grade.

ActivityWeightDescription
Canvas Exams25%Examinations.
Coding Exams25%Examinations.
Knowledge Checks20%Final programming assignment.
Labs20%Chapter labs and programming assignments.
Attendance and
Reflections
10%In class activities (for in person students) and online reflection

Final Grades

The final letter grades are assigned according to the following table. We do not round or “bump” individual grades.

GradeRange
A90 – 100
B80 – 89.999
C70 – 79.999
D60 – 69.999
F00 – 59.999

Late Policies and Make Up Work

CS152 is an accelerated 8-week course. The material builds upon itself throughout the term, so it is not wise to fall behind. We expect students to complete all work on time – there is no late period for this course.

Excused absences may cause a student to miss a lecture, recitation, or exam. Students must consult with the instructor as soon as possible to make other arrangements, preferably before the event.

  • Make-up exams must be arranged with the instructor.
  • Lecture and recitation activities may be excused and not count towards the final grade.

See Policies for more information about attendance.

Generative AI Usage and Consequences

Use of AI tools such as ChatGPT, Claude, Github Co-Pilot, and/or their ilk to write or “improve” your code or written work at *any* stage is prohibited.  Turning in code or an essay written by generative AI tools will be treated as turning in work created by someone else, namely an act of plagiarism and/or cheating.

Ultimately, you will get out of the class what you put in. Simply copying and pasting code from generative AI tools is neither ethical nor does it contribute to your learning experience. There are multiple reasons why these generative AI tools are detrimental to your learning experience:

  1. They rob you of the ability to think and learn the concepts for yourself. Solving problems is an essential step to gaining a solid understanding of the material.
  2. You will struggle with the in-classroom quizzes and exams where you will not have access to these tools.
  3. While we acknowledge that these tools are likely to become an important part of a software engineer’s workflow in the future, you are much more likely to use these tools in an effective manner if you already have expertise in the relevant technical topics. Developing such expertise requires putting in the effort to learn these topics without the assistance of these tools.
  4. These tools are prone to generating imperfect or even incorrect solutions, so trusting them blindly can lead to bad consequences.