CS 171 Computer Programming 1

CS 171 Computer Programming 1 - Syllabus

Term and Credits

Fall 2018-2019
3 Credits

Room and Time

Lectures:

Labs: (Primary TA in Bold)

Who Grades What:

Instructor

Mark Boady
Electronic Mail Address: mwb33@drexel.edu
Office: University Crossings 138
Extention: 215-895-2347
Office Hours: Wednesday 11am-1pm, Friday 11-1PM, 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.

Prerequisites
None.

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.

Textbook

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

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.

Readings

Homeworks

Labs

Quizzes/Midterm/Final

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 strongly suggest Thonny for offline development.

Tentative Course Schedule

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

Week Topic Assignments Labs Tests
1 (9/24/2018) What is a Program? Introduction to Python
Topics: Python 3, Variables, Expression, Input and Output
Week 1 Reading Due Thursday Oct 4 11:59PM
Homework 1 Due Thursday Oct 4 11:59PM
Lab 1  
2 (10/1/2018) Variables and Data Types
Topics: Strings, Floats, Integers, Lists, Dictionaries
Week 2 Reading Due Thursday Oct 11 11:59PM
Homework 2 Due Thursday Oct 11 11:59PM
Lab 2 Quiz 1 Due Oct 11
in bblearn
3 (10/8/2018) Columbus Day No Class - Watch Recorded Lecture
Branching and Exceptions
Topics: If, Else, Elif, Boolean Logic, Try/Except
Week 3 Reading Due Thursday Oct 18 11:59PM
Homework 3 Due Thursday Oct 18 11:59PM
Lab 3  
4 (10/15/2018) Loops
Topics: While, For
Week 4 Reading Due Thursday Oct 25 11:59PM
Homework 4 Due Thursday Oct 25 11:59PM
Lab 4 Cancelled: Quiz 2 Due Oct 25
in bblearn
5 (10/22/2018) Functions
Topics: Creating Simple Functions
Week 5 Reading Due Thursday Nov 1 11:59PM Lab 5 Midterm Exam
Due Thursday Nov 1 11:59PM
6 (10/29/2018) Files and Modules
Topics: Reading and Writing Files, Creating Modules
Week 6 Reading Due Thursday Nov 8 11:59PM
Homework 5 Due Thursday Nov 8 11:59PM
Lab 6  
7 (11/5/2018) Binary Data Representations Week 7 Reading Due Thursday Nov 15 11:59PM
Homework 6 Due Thursday Nov 15 11:59PM
Lab 7 Quiz 3 Due Nov 15
in bblearn
8 (11/12/2018) Recursion
Topics: Creating and Understanding Recursive Functions
Week 8 Reading Due Thursday Nov 29 11:59PM
Homework 7 Due Thursday Nov 29 11:59PM
Lab 8  
9 (11/19/2018) Thanksgiving - No Class
10 (11/26/2018) Advanced Functions
Topics: Searching and Sorting
Week 9 Reading Due Thursday Dec 6 11:59PM
Homework 8 Due Thursday Dec 6 11:59PM
Lab 9 Quiz 4 Due Dec 6
in bblearn
11 (12/3/2018) Classes
Topics: Classes, Objects, Methods
Extra Credit Reading Due Thursday Dec 13 11:59PM
Lab 10
12 (12/10/2018) Final Exam - Online taken in bblearn
Due Thursday Dec 13 at 11:59PM