CS 171 Computer Programming 1

CS 171 Computer Programming 1 - Syllabus

Term and Credits

Winter 2017-2018
3 Credits

Room and Time


Labs: (Primary TA in Bold)

Who Grades What:

  • Midterm and Final Exam - Professor Boady
  • Instructor

    Mark Boady
    Electronic Mail Address: mwb33@drexel.edu
    Office: University Crossings 138
    Extention: 215-895-2347
    Office Hours: Wednesday 3-5pm, Thursday 2-4PM, others days/times by appointment.

    Teaching Assistant(s)

    Office Hours and Contact Info Through the CLC: https://www.cs.drexel.edu/clc

    Course Description

    Introduces fundamental concepts of computing including memory, instructions, function calls, and activation records. Covers fundamentals of structured computer programming in the language of instruction: variables, input and output, expressions, assignment statements, conditionals and branching, subprograms, parameter passing, repetition, arrays, top-down design, testing, and debugging.

    Course Objective and Goals

    1. Trace execution of a Python program containing assignment statements, strings, conditionals, file input/output, functions, and loops.
    2. Determine appropriate code constructs and design a Python program using them to satisfy problem description.
    3. Write appropriately styled Python code and documentation for programs using assignment statements, strings, conditionals, file input/output, functions, and loops.
    4. Detect and correct syntax errors in Python programs containing assignment statements, strings, conditionals, file input/output, functions, and loops.
    5. Detect and correct logic errors in Python programs containing assignment statements, strings, conditionals, functions, and loops.
    6. Communicate and solve problems effectively as a member of a team.

    Audience and Purpose within Plan of Study

    This course is open to all student's interesting in Programming and Computer Science.

    This course is the first in a two-term sequence of computer programming courses in Python 3 (CS 171-2) and is a required course for students majoring in computer science, mathematics, physics, information systems, and digital media. It is also a required course for students pursuing a minor in computer science. The goal is for students completing this sequence to be competent programmers, able to write working Python 3 program on their own using appropriate constructs when presented with a problem description.


    While there are no formal prerequisites for the course, students are expected to be computer literate. Prior programming experience is not required, but is definitely helpful.


    Programming in Python 3
    Edition: CS 171: Computer Programming I Winter 2018
    From ZyBooks
    Sign up at learn.zybooks.com
    Enter Code DREXELCS171BoadyWinter2018 for our textbook
    Subscribe for $67.

    Grading and Policies

    Final grades will be determined by your total points weighted according to this distribution. Grades may be curved but are generally computed via the formula below. It may be modified at the instructor's sole discretion, but letter grades will generally not be lower than those shown here.





    Special Circumstances

    If you have a documented reason why you cannot submit any work by the cut-off deadline, a special exception may be made. The Professor may also wave the late submission policy for documented special exceptions. Special Exceptions must be approved by the Professor.

    Additional Policies

    Plagiarism Detection System

    To ensure that assignments are done independently, in addition to human observation, we will be running all assignments through a plagiarism detection system. This program uses compiler techniques which are invariant of syntax and style. It has a very high accuracy rate.

    Academic Honesty Policy

    The CCI Academic Honesty policy is in effect for this course. Please see the policy at http://drexel.edu/cci/resources/current-students/undergraduate/policies/cs-academic-integrity/.

    In the event of an Academic Honesty Violation, punishments include but are not limited to

    Computer/Software Help
    iCommons: http://drexel.edu/cci/about/our-facilities/rush-building/iCommons/

    Disability Statement
    Students requesting accommodations due to a disability at Drexel University need to request a current Accommodations Verification Letter (AVL) in the ClockWork database before accommodations can be made. These requests are received by Disability Resources (DR), who then issues the AVL to the appropriate contacts. For additional information, visit the DR website at drexel.edu/oed/disabilityResources/overview/, or contact DR for more information by phone at 215.895.1401, or by email at disability@drexel.edu.

    University Policies
    In addition to the course policies listed on this syllabus, course assignments or course website, the following University policies are in effect:

    Software and Hardware Requirements

    All Drexel students are required to have individual access to a dedicated computer which meets minimum specifications, including: processor speed, memory and secondary storage requirements, connectivity via high-speed or direct connection to campus network, and a CD/DVD drive.

    The Official Language is Python 3.6. You must have Python 3.6 installed on your computer. It is available for free from https://www.python.org

    No specific IDE is required. We suggest PyCharm Free Community Edition

    The website https://repl.it can be used for many of the assignments. This is a helpful resource, but must have access to at least one computer with a complete Python 3 install.

    Tentative Course Schedule

    Please see the appropriate assignment webpages for a detailed description of course deliverables.

    Week Topic Reading Lab Notes
    1 (1/8/2018) What is a Program? Introduction to Python
    Topics: Python 3, Variables, Expression, Input and Output
    Chapter 1 Intro to Python
    Chapter 2 Variables and Expressions
    (Due Monday 8AM Jan. 15)
    Lab 1  
    2 (1/15/2018) No Lecture - Martin Luther King, Jr. Day Chapter 3 Types
    (Due Monday 8AM Jan. 22)
    Lab 2  
    3 (1/22/2018) Branching and Exceptions
    Topics: If, Else, Elif, Boolean Logic, Try/Except
    Chapter 4 Branching
    Chapter 7 Strings
    (Due Monday 8AM Jan. 29)
    Lab 3 HW 1 Due Friday Jan 26 at 11:59PM
    4 (1/29/2018) Loops and Files
    Topics: While, For, Reading/Writing Files
    Chapter 5 Loops
    (Due Monday 8AM Feb 5)
    Lab 4  
    5 (2/5/2018) Functions
    Topics: Creating Simple Functions
    Chapter 6 Functions
    (Due Monday 8AM Feb 12)
    Lab 5 HW 2 Due Friday Feb 9 at 11:59PM
    6 (2/12/2018) Midterm - In Lecture Lab 6  
    7 (2/19/2018) Types
    Topics: Binary Values, Type Conversion, Lists, Dictionaries
    Chapter 12 Files
    (Due Monday 8AM Feb 26)
    Lab 7 HW 3 Due Friday Feb 23 at 11:59PM
    8 (2/26/2018) Recursion
    Topics: Creating and Understanding Recursive Functions
    Chapter 14 Recursion
    (Due Monday 8AM March 5)
    Lab 8 HW 4 Due Friday March 2 at 11:59PM
    9 (3/5/2018) Advanced Functions
    Topics: Creating Libraries for Reuse,
    Working with Lists/Dictionaries as parameters
    Chapter 8 Lists and Dictionaries
    Chapter 11 Modules
    (Due Monday 8AM March 12)
    Lab 9
    10 (3/12/2018) Imperative Languages
    Topics: Applications of Imperative Programming Skills
    Chapter 10 Exceptions
    Chapter 15 Plotting
    (Due Monday 8AM March 19)
    Lab 10 HW 5 Due Friday March 16 at 11:59PM
    11 (3/19/2018) Final Exam - Location/Time to be Determined