CMSC 150 Introduction to Programming

Course Details

  • Course title: CMSC 150 Introduction to Programming

  • Catalog course description: This course introduces computer programming, emphasizing algorithm design and implementation using conditionals, loops, functions, recursion, and object oriented programming. The course is taught in Python. Prerequisite: One of the following: Math 105/105T Quantitative Reasoning, Math ACT of 22 or higher, or Math SAT of 530 or higher. QUANT. Four credits. Offered every semester.

  • Course level student learning objectives (SLOs):

    • Variables and expressions
    • Branching logic
    • Simple looping
    • Complex nested looping
    • Graphical coordinate system
    • Simple version control system use
    • Basic theory behind how computer languages work
    • Linear and binary search
    • Arrays
    • Two-dimensional arrays
    • Exceptions
    • Print formatting
    • Classes
    • Insertion and selection sort
    • Proper coding style and techniques
    • Debugging techniques
    • Using and creating libraries
  • Textbook: https://learn.arcade.academy

Instructor

Schedule

Class meets MWF from 11:30 am until 12:30 pm and it also has a lab Thursday 2:10 pm until 3:40 pm.

Final is Mon., Dec. 13, 1:00pm - 3:00pm

Academic Calendar

Fall Semester 2021 Date
Classes Begin Aug-31
Convocation Sep-01
Last Day to Add/Drop Sep-06
Labor Day: Regular class day Sep-06
Fall Break Oct 14-15
Midterm Oct-19
Homecoming Oct-23
Last Day to Withdraw Nov-08
Thanksgiving Break Nov 24-26
Last day of class Dec-09
College Reading Day Dec-10
Final Exam Week Dec 13-16

Class Calendar

Date Class Activity Due
Wed 9/1 Syllabus  
  Chapter 1, Why learn programming?  
  Chapter 2, Understanding and setting up your system  
Thu 9/2 Chapter 3, Version control systems Have PyCharm, Python, and Git installed
  Chapter 4, The print function  
  Lab 1 - Print statements and version control systems  
Fri 9/3 On-line coding problems. Finish lab 1, work with any resubmits.  
Mon 9/6 Chapter 5, Drawing with Python  
Wed 9/8 Review Chapter 5, show API docs Quiz 1 @ 8 am
  Chapter 6 what is a programming language  
  Introduce Lab 2  
Thu 9/9 Lab 2 - Drawing Lab 1 @ 2:40 pm
Fri 9/10 Chapter 7, Variables and Expressions  
Mon 9/13 Chapter 8, Functions  
Wed 9/15 Chapter 9, Drawing with Functions / If statements Quiz 2 @ 8 am
Thu 9/16 Lab 3 - Drawing with Functions Lab 2 @ 2:40 pm
Fri 9/17 Chapter 10, If statements  
Mon 9/20 Chapter 11, For Loops  
Wed 9/22 Chapter 12, While loops and Chapter 13, Random numbers Quiz 3 @ 8 am
Thu 9/23 Lab 4 - Camel game Lab 3 @ 2:40 pm
Fri 9/24 In-class work on function problems, in-class work on ‘if’ statement problems  
Mon 9/27 Looping problems  
Wed 9/29 Chapter 14, Advanced looping problems Quiz 4 @ 8 am
Thu 9/30 Lab 5 - Loopy lab Lab 4 @ 2:40 pm
Fri 10/1 Chapter 15, Introduction to lists  
Mon 10/4 Chapter 15, Introduction to lists (continued)  
Wed 10/6 Chapter 16, Classes Quiz 5 @ 8 am
Thu 10/7 Lab 6 - Text adventure Lab 5 @ 2:40 pm
Fri 10/8 Chapter 17, Class methods  
Mon 10/11 Chapter 18, Using the Window class  
Wed 10/13 Chapter 19, User control Quiz 6 @ 8 am, Lab 6 @ 2:40 pm
Thu 10/14 Fall Break  
Fri 10/15 Fall Break  
Mon 10/18 Work on programming problems  
Wed 10/20 Sound effects / Sprites and collisions Quiz 7 @ 8 am
Thu 10/21 Lab 7 User Control  
Fri 10/22 Sprites and collisions / Moving sprites  
Mon 10/25 Continue moving sprites / Debugging  
Wed 10/27 Shooting sprites examples / Sprites and walls / placement and collision Quiz 8 @ 8 am
Thu 10/28 Lab 8 - Sprites Lab 7 @ 2:40 pm
Fri 10/29 Sprites and walls / scrolling  
Mon 11/1 Libraries and modules  
Wed 11/3 Searching - reading from a file and linear search  
Thu 11/4 Lab 9 - Sprites and walls Lab 8 @ 2:40 pm
Fri 11/5 Binary search  
Mon 11/8 Work on programming problems  
Wed 11/10 Array-backed grids part 1 Quiz 9 @ 8 am
Thu 11/11 Lab 10 - Spell check Lab 9 @ 2:40 pm
Fri 11/12 Array-backed grids part 2  
Mon 11/15 Platformers  
Wed 11/17 No class  
Thu 11/18 Lab 11 - Array-backed grids Lab 10 @ 2:40 pm
Fri 11/19 Swapping values and the selection sort  
Mon 11/22 Insertion sort  
Wed 11/24 Thanksgiving Break  
Thu 11/25 Thanksgiving Break  
Fri 11/26 Thanksgiving Break  
Mon 11/29 Sorting Worksheet / Lab  
Wed 12/1 Quantitative Reasoning Assignment / Lab Quiz 10 @ 8 am
Thu 12/2 Work on Lab 12 - Final lab Lab 11 @ 2:40 pm, Sorting worksheet, Demo part 1
Fri 12/3 Print formatting / Exceptions  
Mon 12/6 Work on final lab  
Wed 12/8 Recursion / Work on final lab  
Thu 12/9 Work on Lab 12 - Final lab  
12/13 1 pm - 3 pm Final time, show off projects Lab 12 & absolutely everything by 3 pm.

Student Assessment

Assignment Submission

  • Assignments must be submitted on-line via Simpson’s Scholar website.
  • Assignments are not accepted via e-mail.
  • Source code will be checked into GitHub.
    • This will require a free account on GitHub.

Grading

Grades will be calculated on a percent scale. The percentage is calculated by total points earned, divided by total points possible. If there is an attendance penalty, then that is subtracted next.

Danger

Simpson’s Scholar/Moodle site shows can show the wrong grade, for the two reasons below.

  • Scholar will not show any attendance penalty. You can look up your attendance on Scholar.
  • If there is a missing grade that hasn’t been set at zero, then Scholar will not show that in the average. For example, if there are 10 assignments, each worth 100 points, but one is missing, Scholar will show your average as 100 instead of 90. I do try to go back and enter zero on missing assignments so Scholar shows the correct grade, but sometimes that isn’t practical.

If you want to calculate your grade, total up your points, divide by the total possible. Then take into account any attendance policy penalty. See the attendance policy.

Appealing an assignment grade: Please do this within a week or two of the grade being posted. Please regularly check for missing assignment grades. After final grades are posted, I’ll only re-examine assignments turned in during finals. I’m not going back to look at early assignments. Turning in tech assignments can be more complex than turning in a paper, so it is critical to notice right away if you are missing a piece.

Appealing your final grade: If you believe your final grade is in error, please go through the effort of calculating the grade yourself. Total up points earned and the total points possible. Calculate the percentage. Check your attendance. Include that information when contacting the instructor.

Grading Scale

Grades are not rounded. For example, 92.99% is considered an A-, and 93.00% is an A.

Percent Grade
100-93% A
92-90% A-
89-87% B+
86-83% B
82-80% B-
79-77% C+
76-73% C
72-70% C-
69-67% D+
66-63% D
62-60% D-
59-0% F

Late-Work/Make-up Work Policy

  • All work must be turned in on-time.
  • Late work is usually not accepted, unless approved ahead of time by the instructor. (If it is just a few minutes or hours late, you might be ok. Depends on when I check.)
  • All work must be turned in by the end of the time scheduled for the class final. No extensions beyond this date/time are given unless you have a form filled out and signed for an “incomplete.”
  • Extra-credit / make up work is not offered.
  • If you need to use the lab for doing work, make sure to understand when the lab is open. The McNeill lab is usually closed on Sunday nights, and if an assignments is due Monday morning that can be bad. Not knowing when the lab is open is not accepted as an excuse.

Attendance/Participation Policy

(For classes with lab.)

A student may miss three classes unexcused without penalty. After three unexcused absences, a student’s final grade will be lowered 2% for each class missed, not including the original three. So missing five classes will be a 4% penalty on the final grade.

Excused absences are those approved by the Academic Dean, or by prior permission of the instructor. Absences for sporting event functions are normally run through Dean’s office. E-mail me that you will be gone so that I can check you off as excused.

Danger

To be counted as attending class, the student must be present when the instructor takes attendance. If a student leaves class early without prior permission, he or she will be counted as absent.

Assignments

There are three types of assignments:

  • Labs - 20 points, except the final lab which is 60 points
  • Quizzes - 10 points
  • Coding problems, 2 pts each

Note

Labs can be resubmitted once for more points.

Labs may be resubmitted for a regrade up to one week after they are graded. So if you turn in an assignment on the 8th and it is graded on the 10th at 10 am, then it can be fixed and submitted for a regrade any time up to the 17th at 10 am.

To resubmit a lab you must resubmit it for grading on Scholar. Otherwise I won’t know to grade it. Committing and pushing the file to Bitbucket isn’t enough.

You may only resubmit a lab once, unless the first time was just a missing graphic or something like that.

Exceptions: Normally time during Fall and Thanksgiving Break aren’t counted towards the seven days, although that doesn’t matter this year.

Course Assessment

Engaged Citizenship

Quantitative Reasoning (QR)

Quantitative reasoning is the application of quantitative concepts and skills to solve real- world problems for the purpose of making decisions. To effectively use quantitative reasoning requires understanding how to interpret, evaluate, and use various types of quantitative information in order to support a position or argument. It includes the ability to express quantitative information visually, symbolically, numerically and verbally (including written or oral communication).

In order to perform effectively as professionals and citizens, students must become competent in reading and using quantitative data, in understanding quantitative evidence and in applying quantitative skills to the solution of real-life problems such as choosing the financing for a new home, how to live a sustainable lifestyle, and whether to vote for or against a specific tax. The purpose of embedding the Quantitative Reasoning skills in application courses is to provide our students with quantitative problem-solving experiences at the college level within the context of the content of other college courses. The goal is to instill long-term patterns of interaction and engagement with quantitative problem solving.

A student who completes a QR course will be able to …

Student Learning Objective (SLO) Class activities directly relating to this SLO Student work to be evaluated for this SLO
QR SLO1. Decide draw inferences, solve problems and make decisions using quantitative methods Lecture, quizzes, labs Final lab
QR SLO2. Communicate communicate solutions to quantitative questions in oral or written communication that incorporates symbolic, numeric or graphical representations Lecture, quizzes, labs Final lab
QR SLO3. Evaluate analyze solutions to quantitative questions for accuracy, precision, suitability and/or other appropriate criteria Lecture, quizzes, labs Final lab
QR SLO4. Reflect describe the value, limitations and/or implications of quantitative decision making Lecture, quizzes, labs Reflection assignment

Student Learning Outcomes for the Major

CMSC Major SLO #1: Design, implement, and analyze computational algorithms.

CMSC Major SLO #2: Design computer systems, implement algorithms as part of those systems, and create well-written and documented programs.

Contact Hours and Learning Time

  • Class meets 3 times a week, each time for 1 hour. There are a total of 40 classes. This totals 40 x 1 = 40 hours.
  • There are 13 lab sessions, each for 1.5 hours, totaling 19.5 hours
  • Each lab should take another 2 hours, totaling 26 more hours. The last lab should take an additional 4 hours for 30 total hours.
  • There are 13 quizzes. Taking each quiz should take about 30 minutes, for 7.5 hours
  • Reading and reviewing for class should take 3 hours each week, for 39 hours total
  • Total time spent on the class should be about 136 hours. This could be more or less depending on talent, and desired grade.

Policies and Procedures

Course Continuity Plan

Should the normal instructional activity on the campus be shortened or interrupted by a campus-wide closing, students will receive information from the instructor or other representative of the college about when and if the course might be continued or completed via Internet, telephone, or United States mail.

Academic Integrity

Simpson’s Statement: In all endeavors, Simpson College expects its students to adhere to the strictest standards of honesty and integrity. In keeping with the College’s mission to develop the student’s critical intellectual skills, while fostering personal integrity and moral responsibility, each student is expected to abide by the Simpson College rules for academic integrity. Academic dishonesty includes (but is not limited to) any form of cheating, plagiarism, unauthorized collaboration, misreporting any absence as college-sponsored or college-sanctioned, submitting a paper written in whole or in part by someone else, or submitting a paper that was previously submitted in whole or in substantial part for another class without prior permission. If the student has any questions about whether any action would constitute academic dishonesty, it is imperative that he or she consult the instructor before taking the action. All cases of substantiated academic dishonesty must be reported to the student’s academic advisor and the Dean for Academic Affairs. For further guidance on these rules and their sanctions, please see the college catalog.

My addition: Students are strongly encouraged to work with one another on homework; however, blatant copying of assignments will be considered cheating.

If I get two assignments that are the same thing, both people will get zeros. Guard your homework carefully, so it is not used as a source for cheating. Don’t e-mail it to a friend so they can ‘use it to learn’ or ‘as a template’. Don’t allow someone to simply read off what you have on your computer screen. By allowing someone to cheat, that will allow the person to get behind in what they understand, and they will never catch up.

A student caught cheating will either get a zero for the assignment, have his/her over-all letter grade reduced, or be flunked from the course. Cheating students may be required to do extra work.

The instructor keeps a database of prior assignments and assignments commonly found on the Internet. The instructor will periodically run scans to look for duplicate assignments. We catch students cheating every. single. year. Don’t do it.

Regardless, cheating is like paying for a gym membership, and then sending someone else to work out for you. It doesn’t make sense. You aren’t going to get stronger that way.

Accommodations for Students with Accessibility Needs

I want everyone in this class to be successful. If you have a physical, sensory, learning, or psychological disability that can interfere with your learning, I want you to receive the accommodations to which you are entitled by law. In order for me to do provide accommodations to a student, the student’s disability must be documented with the Student Accessibility Office. I cannot assist a student with accommodations that I don’t know are needed, so if you need something, please make sure that you either contact me or that you ask Simpson’s Student Accessibility Coordinator, to do so on your behalf. If you have any further questions on the policies and services for students with disabilities, please refer to the academic catalog or go to http://simpson.edu/academics/student-accessibility/

Inclusive Explanation Statement

In this course, each voice in the classroom has something of value to contribute. Please take care to respect the different experiences, beliefs, and values expressed by students and staff involved in this course. We support Simpson’s commitment to diversity, and welcome individuals of all ages, backgrounds, citizenships, disabilities, sex, education, ethnicities, family statuses, genders, gender identities, geographical locations, languages, military experience, political views, races, religions, sexual orientations, socioeconomic statuses, and work experiences.

Sexual and Relationship Misconduct

Simpson College strives to create an environment free from sexual or relationship misconduct of any kind; and in which those who have experienced sexual misconduct get the help and support they need. Simpson’s Sexual and Relationship Misconduct Policy outlines expectations the college has students and employees, including faculty. In order to do all that we can to maintain a safe campus community, and in compliance with Federal law, all employees of the college are expected to report knowledge of alleged sexual misconduct to the Title IX Coordinator. Therefore, if you reveal to me, in conversation, writing, class discussion, or in any other manner, that you have experienced sexual misconduct it is my obligation to share that information with the Title IX Coordinator on our campus. Please know that if this is a step that needs to be taken, I will do my best to involve you in that process so that you know what to expect as a result of the communication with the Title IX Coordinator. To learn more about the expectations the college has of you with respect to sexual misconduct, you can find the full policy here:

http://simpson.edu/sexual-and-relationship-misconduct-policy/

Special Covid Additions

Thanks to COVID here are some additional elements:

Wearing Facial Coverings in Classrooms is Required

To help mitigate the transmission of COVID-19, it is required that all students, faculty, and staff wear masks in classrooms, laboratories, and other similar spaces where in-person instruction occurs. This requirement is for all individuals regardless of COVID-19 vaccination status. The masks must cover both nose and mouth and be worn for the duration of class. Consumption of food or drink will not be allowed inside classroom spaces. Mask requirements (both within the classroom and inside campus buildings) will be linked to Simpson College COVID-19 Color Phases and will be evaluated frequently. Please note that Color Phases are heavily influenced by the vaccination rate on campus. You can find more information at COVID-19 Plan. Non-compliance regarding masks may result in students being asked to leave the class, disciplinary action from the academic dean, or failure of the class as outlined in the Student Handbook Standards of Classroom Behavior.

COVID-19 Health-Relates Class Absences

Please evaluate your own health status daily and refrain from attending class if you are ill. Students who miss class due to illness will be given opportunities to access course materials and will not be penalized for not attending class in person. Please work with instructors to either reschedule or electronically/remotely complete exams, labs, and other academic activities as you are able. You are encouraged to seek appropriate medical attention for treatment of illness. In the event of contagious illness, please do not come to class or to campus to turn in work. Notify me by email about your absence as soon as practical so that accommodations can be made. Please note that documentation (a doctor’s note) for medical excuses is NOT required.

Additional Contingency Plans

Should the normal instructional activity on the campus be shortened or interrupted by a campus-wide closing, students will receive information from the instructor or other representative of the college about when and if the course might be continued or completed remotely.

Recording Policy

Recording: Class meetings may be recorded by the instructor for student use. To respect the class community, there shall be no other audio or video recording of class activities and no sharing or disseminating recordings or images (including screen shots) of class activities without the permission of the instructor and other members of the class.