Period 2 – CIS119 – Python – Spring 2018

Introduction to Programming

Welcome to CSC119 Introduction to Programming (Python). This course covers Python 3.6. The course materials  are found on your aims.edu page after you login. I will have some redundant information here, but it can all be found under the CSC119 tab on your AIMS home page.

Rules for Class

All applicable Colorado Early Education – Fort Collins rules. In this class I have two rules that are very important to me:

  1. Treat each person in this room with the respect with which you would like to be treated.
  2. Except when in an organized group discussion, only one person speaks at a time.

Syllabus and Schedule

The Schedule is found in the CSC119 description on the AIMS.edu website. I am providing a second copy here, but please go to the AIMS website for the most updated information.

Click Here to Jump to the Schedule

Class Information Instructor Information
CRN: 20355 Professor: Wayne Cook
Section: CSC119 G11 Email: [email protected]
Meeting Times: MWF at 8:50 AM-9:45 AM Phone: (970) 690-9976
Room: CEC-FC room 228 Office Hours (CEC-FC 228): By appointment

***Please contact me via the Aims Online course email or my aims email listed above. Emails will be answered generally within 24 hours on weekdays excluding weekends. Phone messages are checked once a week during the semester.

Required Textbook and Materials

Title: Python Programming for the
Absolute Beginner 3rd Edition
g
ISBN: 978-1-4354-5500-9
Author: Michael Dawson
Publisher: Course Technology
Copyright Year: © 2010
Additional Materials:
  • Flash Drive or Cloud Storage
  • Scratch Paper and Pencil

Course Description

This course introduces computer program design using concepts of
structured programming and logic. Planning topics include pseudo code
and structure charts. Programming topics cover variables, data types,
control structures, looping, program breaks, and arrays.

Credits: 3

Topical Outline

  1. Numbering Systems
  2. Introduction to Structured Programming and Problem Solving
  3. Variables and Constants
  4. Input and Output
  5. Decision Structures and Loops
  6. Modularizing Programs
  7. Arrays
  8. Records and Files

Course Objectives

Upon completion of this course, the student/learner will be able to:

  1. Demonstrate how to convert a binary number to a hexadecimal number.
    Input data from the computer keyboard using standard input and output commands via a programming language.
  2. Create a program that demonstrates the use of variables and constants.
  3. Develop and implement basic program elements of processes, loops, and sequences.
  4. Write a program using control structures and functions.
  5. Write and modify a program using array processing.
  6. Design a program that outputs processed data to the computer screen.
  7. Create a program using File I/O from a program specification.

Common Learning Outcomes:

What is a Common Learning Outcome? Common Learning Outcomes (CLOs) define the expectations of an Aims Community College education and provide the benchmarks against which the College holds itself accountable.

Critical Thinking Competency – Students who can think critically apply thinking skills and are able to evaluate real-world examples in terms of course content and knowledge. Examples of critical thinking include identifying and exploring issues, recognizing your audience and addressing them accordingly and, framing personal reference and acknowledging other perspectives.

Problem Solving – Good problem solvers apply thinking skills to evaluate real-world examples in terms of course content and knowledge. Students with strong problem solving skills will interpret the problem, develop a strategy to solve the problem, apply appropriate strategies and procedures, and arrive at a workable solution.

Professionalism – Students who are professional strive for excellence in their performance of required roles in their future professions. Professionals demonstrate accountability and ethical behavior, maintain a professional attitude and conduct themselves in an appropriate and respectful manner.

Written Communication – Students should be able to demonstrate a high level of written communication skills as necessary for their future profession through the development and expression of ideas in writing. Students with strong written communication skills will include in their writing a clear main idea or theme, include appropriate content and context, organize their materials to suit the purpose of the document and use appropriate conventions

Oral Communications – Students should be able to demonstrate a high level of oral communication skills as necessary for their future profession through prepared, purposeful presentations designed to increase knowledge, to foster understanding, or to promote change in the listeners’ attitudes, values, beliefs or behavior. A good oral presentation includes a central message with supporting materials, is organized, clearly delivered and may involve interactions with the audience.

Important Dates:

Please see the college’s website for important dates here.

Grading Policies

Grades are determined by the following percentages:

Percentage Description
Homework Programs 44% Outside of class homework projects.
Quizzes 42% Credit will be issued for correct answers on the quizzes.
Final Exam 14% The final exam for the course.

Grading Scale

Letter Grade Percentage
A 90% – 100% (Superior and excellent)
B 80% – 89% (Above average)
C 70% – 79% (Average)
D/F 60% – 69% (Below average level of achievement)
(CEC-FC lists these grades as a failure)
F 59% and below (Not acceptable)

Late Work

All work must be turned in by the Due Date listed on the dropbox for full credit. Work that is turned in up to one week late will lose 10% of the total points. Work that is turned in up to two weeks late will lose 15% of the total points. Beyond two weeks late work will not be accepted without a prior arrangement with the instructor before the original due date emailed to [email protected].

Make up Quizzes

MAKE-UP TESTS: Attendance is mandatory on quiz and exam days. If an emergency arises on a quiz or exam day, you must notify the instructor by email to [email protected] on or before the exam scheduled class period. If a student is absent for a quiz or exam and has not emailed the instructor, her/his score on that exam will be a “0”. A make-up exam will be available for those students who gave prior notification via email by appointment. The make-up exam must be completed within two weeks of missing the exam.

Homework and Attendance

Attendance and homework are crucial to achieve the objectives of this class. Your success depends on being prepared for and participating in each class. All students are expected to attend every class session on time and to have their homework completed when assigned. I would appreciate an email indicating your absence from class. Learning programming is best achieved by practicing programming. Some concepts of the book will be taught or enhanced by in-class activities. These activities allow you to actively apply programming concepts.

Study Procedures

Read each chapter thoroughly as they are assigned. Read and RUN the examples. Read the assignment before the lecture. In class the instructor will go over the assignments and examples. After the lecture the quiz will be handed out and must be completed in class.

You will find it helpful to study and do homework in small groups. Getting input from others and working out solutions together is an additional way to learn. HOWEVER, please be careful that you do your own work—a study group is not a substitute for thinking through the problem yourself.

Some lab time may be provided in class but be aware that you are in class 3 hours a week. You can expect to work an additional 9 – 12 hours outside of class.

Classroom Etiquette:

It is important to begin modeling employment traits in the classroom. Begin this procedure by adhering to the following guidelines:

  • We will respect each other and communicate in a respectful, attentive manner.
  • Please listen while the instructor is lecturing.
  • Please listen while another individual is asking a question.
  • See me with any questions during lab time in class or make an appointment with me during my office hours.
  • Be on time.
  • Complete assignments in a professional, neat manner and turn in timely.
  • Ask if you have questions.
  • Complete your own assignments in order to maximize learning and remain in this course.

Cell Phone Policy: If you have a cell phone with you in the classroom, make sure the ringer or beeper is off unless you are expecting a call due to an emergency situation. In that case, you must inform the instructor in order not to disrupt the class unexpectedly.

Aims Policies and Procedures

http://www.aims.edu/inside/policies/standard-syllabus/

Schedule

Current Week Activities and Topics Assignments – Due Dates
Week 1

Read Chapter 1

  • Introduction to Python
  • Introduction to IDLE
    • Writing a program in interactive mode
      • Using the print function
        • Define function
      • Generating an Error
    • Writing a program in script mode
      • Saving the program
      • Running a program in script mode through IDLE
    • Comments / Blank Lines / Syntax Highlighting
    • Input command
Program 1 – Friday, January 5, 2018
In-Class Quiz 1 – Monday, January 8, 2018
Week 2

Read Chapter 2

  • Triple Quoted Strings
  • Escape Sequences
    • \t – tab
    • \n – newline
    • \a – system beep
  • Concatenating strings with +
  • Repeating Strings
  • Using Math Operators
  • Variables
  • String Methods
  • Type Conversion Functions
    • float(x)
    • int(x)
    • str(x)
  • Format function – formatting a number to two decimal places
Program 2 – Wednesday, January 10, 2018
In-Class Quiz 2 – Friday, January 12, 2018
Week 3

Read Chapter 3

  • import statement
    • import random
  • random numbers
    • randint(int start, int end)
    • randrange(int excluseiveEnd)
  • dot notation
  • if statements
    • conditions
      • comparison operators
    • indentation
    • else clause
    • elif clause
Program 3 – Wednesday, January 17, 2018
In-Class Quiz 3 – Friday, January 19, 2018
Week 4

Continue Chapter 3

  • while loops
    • the sentry variable
    • infinite loops
      • Tracing a program
    • break/continue statements
    • Logical Operators and Compound Conditions
      • not
      • and
      • or
    • counters
      • += operator
  • Program Planning
    • Psuedocode
    • Algorithms
    • Stepwise refinement
Program 4 – Monday, January 22, 2018
In-Class Quiz 4 – Wednesday, January 24, 2018
Week 5

Review Chapter 3

Program 5 – Monday, January 29, 2018
In-Class Quiz 5 – Wednesday, January 31, 2018
Week 6

Read Chapter 4

  • for loops
    • for in with strings
    • counting, using range, negative indexing
  • Advanced String Manipulation
    • Sequence Operators and Functions with Strings
      • using the len function
      • the ‘in’ operator
      • indexing strings with []
    • Creating new strings from existing ones
    • Centering strings in the console
Program 6 – Monday, February 5, 2018
In-Class Quiz 6 – Wednesday, February 7, 2018
Week 7

Continue Reading Chapter 4

  • Tuples
    • Creating tuples
    • indexing tuples with []
    • using the len function
  • Stripping vowels from a string
Program 7 – Monday, February 12, 2018
In-Class Quiz 7 – Wednesday, February 14, 2018
Week 8

Review Chapter 4

  • The Jumble Example
    • Putting it all together
General Quiz – Wednesday, February 21, 2018 or Friday, February 23, 2018
Week 9

Read Chapter 5

  • Lists
    • Creating a list
    • List mutability (ability to change)
    • Appending to a list
  • Nested Sequences
    • Accesesing nested elements
  • Constants
Program 8 – Monday, February 26, 2018
In-Class Quiz 8 – Wednesday, February 28, 2018
Week 10

Read Chapter 6

  • Functions
    • Creating a Function
      • Function to clear screen and print header
    • Documenting a function with a docstring
    • Calling a Function
    • Using Parameters and Return Values
    • Global Variables
Program 9 – Monday, March 5, 2018
In-Class Quiz 9 – Wednesday, March 7, 2018
Week 11

Review Chapter 5 & 6

Program 10 – Monday, March 19, 2018
In-Class Quiz 10 – Wednesday, March 21, 2018
Week 12

Chapter 10

  • Launching a Python Script with a .bat file
  • GUI Programming
    • Creating a simple GUI
      • Creating the application object
        • Adding widget controls
          • The grid layout manager and the .grid() method
        • Adding an event handler
Program 11 – Monday, March 26, 2018
In-Class Quiz 11 – Wednesday, March 28, 2018
Week 13

Review Chapter 10

In-Class Quiz 12 – Wednesday, April 4, 2018
Week 14

Chapter 11

  • Introducing pygame and Livewires Packages
  • Creating a Graphics Window
    • New Graphics Window Program
    • Importing Games Module
    • Initializing Graphisc Screen
    • Starting Main Loop
  • Setting up background and coordinates
  • Displaying and Moving Sprites
    • Displaying and Moving a Sprite
    • Displaying Text and Messages
    • Detecting boundaries and Collisions
    • Hnading Mouse Inputs
  • Classes
  • Ending the Game
    • Detecting Failure
    • Ending the Main Loop
Program 12 – Monday, April 9, 2018
In-Class Quiz 13 – Wednesday, April 11, 2018
Week 15

Review Chapter 11

In-Class Quiz 14 – Wednesday, April 11, 2018
Weeks 16-17

Wrap Up

  • Review all Material
  • Design and Create Simple Python Project
Catch up on any missing material – Friday, April 20, 2018
Final Project Due – Wednesday, May 9, 2018
Week 18

In-Class Final Exam

In-Class Final – Wednesday, May 9, 2018