CS 171 Computer Programming I

Term and Credits

Winter 2021-2022

3 Credits

 

Basic Course Information

Lecture

Section

Day and Time

Course Instructor

Room

CS 171 - A

Monday 11:00 AM - 12:50 PM

Prof. Mark W. Boady

Nesbitt Hall 125

CS 171 - B

Monday 03:00 PM – 04:50 PM

Prof. Mark W. Boady

Disque Hall 103

CS 171 - C

Monday 01:00 PM – 02:50 PM

Prof. Adelaida A. Medlock

Disque Hall 108

 

Lab

Section

Day and Time

Lab Assistant

Room

CS 171 - 060 and 062

Wednesday 09:00 AM - 10:50 AM

Mathew Chong, Ibrahim Elsaid, John Greaves, Selim Genel

3675 Market St.

Room 1054 - 1055

CS 171 - 064 and 066

Wednesday 11:00 AM - 12:50 PM

Ahnaf An Nafee, John Greaves, Lillian Dourlain, Matthew Chong

3675 Market St.

Room 1054 - 1055

CS 171 - 068 and 070

Wednesday 01:00 PM - 2:50 PM

Giang Doan, Lillian Dourlain, John Greaves, Tri Le

3675 Market St.

Room 1054 - 1055

CS 171 - 072 and 074

Thursday 09:00 AM - 10:50 AM

Matthew Chong, Lillian Dourlain, Tri Le, Lu Patton

3675 Market St.

Rooms 912 and 913

CS 171 - 080 and 082

Thursday 11:00 AM - 12:50 PM

Saadiya Allahbaksh, Akshiv Bansal, Andy Chek, Ibrahim Elsaid

3675 Market St.

Rooms 912 and 913

CS 171 - 076 and 078

Friday 09:00 AM - 10:50 AM

Akshiv Bansal, Sarar Aseer, Selim Genel, Tri Le

3675 Market St.

Rooms 912 and 913

CS 171 - 084 and 086

Friday 11:00 AM - 12:50 PM

Andy Chek, Giang Doan, John Greaves, Sarar Aseer

3675 Market St.

Rooms 912 and 913

 

Course Instructors

Prof. Mark W. Boady

Electronic Mail Address: mwb33@drexel.edu

Webpage: http://www.cs.drexel.edu/~mwb33/

Office: 3675 Market – Room 1058

Office Hours:Wednesday 2-4 (online until on-campus classes resume)

 

Prof. Adelaida A. Medlock

Electronic Mail Address: aalban@drexel.edu

Webpage: http://www.cs.drexel.edu/~aalban/

Office: 3675 Market – Room 1064

Office Hours: Tuesdays 3:00 - 5:00 PM - ONLINE: https://drexel.zoom.us/j/83560397828



Teaching Assistants / Graders

Ahnaf An Nafeee

Akshiv Bansal

Andy Chek

Emily Johns

Giang Doan

Ibrahim Elsaid

Jashanpreet Singh

John Greaves

Kevin Li

Lillian Dourlain

Lu Patton

Matthew Chong

Mukul Periwal

Saadiya Allahbaksh

Sarar Aseer

Selim Genel

Tri Le

 

 

TA Office Hours: In person office hours will be conducted at the CLC located at 3675 Market St. Room 1066. Online office hours will be conducted via Discod and Zoom.

TA Office Hours Schedulehttps://www.cs.drexel.edu/clc

TA Contact Info: can be found under the Faculty Information section of Bb Learn.Contact your TA through the CS 171 Discord server for Course Related Questions.

 

CS Dept. Phone: (215) 895-2669

CS Dept. Fax: (215) 895-0545

CS Dept. Location: 3675 Market Room 1171-A

 


Course Description and Objectives

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 Goals

The goal of this course is for students completing it to be competent programmers, able to write working Python program on their own using appropriate constructs when presented with a problem description.

 

Course Objectives

By the end of the course students should be able to:

 

  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 (CS 171-172) and is a required course for students majoring in computer science, software engineering, 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 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.

 


Required Textbook and Software

Textbook

Title: Programming in Python 3 with zyLabs

Edition: Drexel University CS 171: Computer Programming I - Winter 2022

Author: Bailey Miller

ISBN-13: 979-8-203-92224-3

Buy: zyBooks.com

Copyright: 2014, 2015, 2016, 2018, 2019, 2020, 2021 Zyante Inc. (zyBooks.com)

Price: $77.00

 

In order to acquire the book, you will need to follow these steps:

  1. Sign up at https://www.zybooks.com
  2. Enter ZyBook code DREXELCS171Winter2022
  3. Click Subscribe

 

Students may begin subscribing on December 20, 2021 and the cutoff to subscribe is March 12, 2022. Subscriptions will last until April 2, 2022.

NOTE: We recommend that if possible, you purchase the book directly from ZyBooks.com as the bookstore has a different (higher) price to the textbook. 

 

Software and Hardware Requirements

All Drexel students are required to have individual access to a dedicated personal computer which meets minimum specifications, including processor speed, memory and secondary storage requirements, and connectivity to campus network. Please see https://drexel.edu/cci/admissions/graduate-professional-development/admissions-information-and-requirements/computer-requirements-and-skills/ for further information.

The official language used for this course is Python 3. It is available for free at https://www.python.org.

Required Software

  1. Thonny Python IDE: https://thonny.org/
  2. Discord: students registered in CS 171 will receive an invitation to join our server.  Please join as soon as possible.
  3. Gradescope: https://www.gradescope.com (instructions to follow)

 

Blackboard Learn

This course is operating with the Drexel Blackboard Learn (Learn) Course Management System, which allows electronic submission of assignments, quizzes, and lab exercises, and threaded discussion groups. You can access the Drexel Learn course website from the Drexel portal http://one.drexel.edu/. You can also access Drexel Learn from the following page https://learn.dcollege.net/.

 


Grade Computation

 Labs

 15% 

 Homework

 15%  

 Readings

 10% 

 Midterm Exam

 30% 

 Final Exam

 30% 

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.

 

Grading Scale

 A+  

 97 - 100

 A

 93 - 96.99 

 A-

 90 - 92.99

 B+

 87 - 89.99

 B

 83 - 86.99

 B-

 80 - 82.99

 C+

 77 - 79.99

 C

 73 - 76.99

 C-

 70 - 72.99

 D+

 65 - 69.99

 D

 60 - 64.99

 F

 0 - 59.99

 

Grading Policies

 

Readings

 

Homework

 

Labs

 

Midterm / Final Exam

 

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 university's Academic Honesty policy is in effect for this course. This policy is available in the Student's Handbook https://drexel.edu/studentlife/community_standards/code-of-conduct/. Please also read the following information from the Provost Office: https://drexel.edu/provost/policies/academic-integrity/

 

You must be the sole original author of all assignments and examination solutions in their entirety, unless the instructor explicitly instructs you otherwise in written directions on an assignment or exam. Except where specifically assigned, collaborative work is a violation of academic honesty in this course. You are not to examine, share, or use code/written solutions belonging to someone else, nor may you let anyone else examine or copy your code/written solutions.

 

Students found in violation of the Academic Honesty policy will receive no credit for the questionable assignment or exam, a half letter grade reduction on the final grade for the course (on the first occurrence), a whole letter grade reduction on each subsequent occurrence(s), and/or will possibly receive a failing grade for the course. In addition, a Drexel University Alleged Academic Misconduct Report will be filed for each occurrence of Academic Dishonesty. If you are suspected of academic dishonesty, a note will be placed in the BB Learn course site and you will be required to communicate with the course instructor within 72 hours indicating your response to the suspected violation.

 

Students having difficulty fulfilling the requirements for an assignment without outside help are to seek assistance from a teaching assistant or instructor, not from another student or knowledgeable person.

 

It is your responsibility to avoid violating the university's policy. If you are unclear as to what the policy means in a particular situation, ask the instructor for clarification before you hand anything in.

 

See the examples below for clarification of this policy.

 

Examples

The following are acceptable:

 

These are NOT acceptable:


Additional Course Resources

Computer/Software Help

CCI Commons (3675 Market #1067): https://drexel.edu/cci/current-students/icommons/

 

Students Accommodations

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 https://drexel.edu/oed/disabilityResources/students/, or contact DR for more information by phone at 215-895-1401, or by email at disability@drexel.edu

 


Other important Academic Policies

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

 

 

Class Disruption Policies

According to the student handbook (Code of Conduct section), Disorderly Conduct is defined as behavior that disturbs academic study:

 

Behavior that disturbs the peace, academic study, or sleep of others both on or off campus is prohibited. Examples of disorderly conduct as it pertains to class/research settings includes, but is not limited to the following:

 

 

Students are responsible to comply with a reasonable request from a professor, instructor, or other University official regarding appropriate behavior.

 

Students disrupting online office hours will be asked to stop the disruptive behavior. If they do not stop, the student will be asked to leave the online session, and a formal complaint will be filed with the Office of Student Conduct and Community Standards.


Statement on Recording Lectures

Appropriate Use of Course Materials

It is important to recognize that some or all of the course materials provided to you are the intellectual property of Drexel University, the course instructor, or others. Use of this intellectual property is governed by Drexel University policies, including the IT-1 policy found at: https://drexel.edu/it/about/policies/policies/01-Acceptable-Use/

 

Briefly, this policy states that all course materials including recordings provided by the given prior written approval by the University. Doing so may be considered a breach of this policy and will be investigated and addressed as possible academic dishonesty, among other potential violations. Improper use of such materials may also constitute a violation of the University’s Code of Conduct found at: https://drexel.edu/cpo/policies/cpo-1/ and will be investigated as such.

 

Recording of Class Activities:

In general, students and others should not record course interactions and course activities in lecture, lab, studio or recitation.

 

Students who have an approved accommodation from the Office of Disability Resources to record online lectures and discussions for note taking purposes should inform their course instructor(s) of their approved accommodation in advance. The recording of lectures and discussions may only be carried out by the students enrolled in the class who have an approved accommodation from Disability Resources with their instructors’ prior knowledge and consent. Students with approved accommodations may be asked to turn off their recorder if confidential or personal information is presented.

 

If a student has any comments, concerns, or questions about provided class materials and/ or recording, talk to your course instructor first. If this does not resolve the issue, you can also reach out to the Department Head, and use the process described for a grade appeal to move your concern forward. The process described for grade appeals can be found at: https://drexel.edu/provost/policies/grade-appeals/

 

Tentative Course Schedule

Schedule Subject to change at any time.

Note: All due dates and times are on Eastern Time Zone.

Week

Topics

Reading

Lab

Notes

1

(1/2/2022)

Syllabus Review

Introduction to Python

ZyBooks 1.1 - 1.13

ZyBooks 2.1 - 2.12

Lab 1

Due at the end of lab session

Week 1 Reading

Due Sunday 1/9/22 by 11:59PM

 

Homework 1

Due Friday 1/14/22 by 11:59PM

2

(1/9/2022)

Arithmetic Expressions

ZyBooks 4.1 - 4.7

Lab 2

Due at the end of lab session

Week 2 Reading

Due Sunday 1/16/22 by 11:59PM

 

Homework 2

Due Friday 1/21/22 by 11:59PM

3

(1/16/2022)

Data Types

ZyBooks 6.1 - 6.13

Lab 3

Due at the end of lab session

Week 3 Reading

Due Sunday 1/23/22 by 11:59PM

 

Homework 3

Due Friday 1/28/22 by 11:59PM

4

(1/23/2022)

Branching

ZyBooks 8.1 - 8.17

Lab 4

Due at the end of lab session

Week 4 Reading

Due Sunday 1/30/22 by 11:59PM

 

Homework 4

Due Friday 2/4/22 by 11:59PM

5

(1/30/2022)

Loops and Iteration

ZyBooks 10.1 - 10.24

Lab 5

Due at the end of lab session

Week 5 Reading

Due Sunday 2/6/22 by 11:59PM

 

Homework 5

Due Friday 2/11/22 by 11:59PM

6

(2/6/2022)

Midterm Eam

None

None

None

7

(2/13/2022)

Functions

ZyBooks 13.1-13.18

Lab 6

Due at the end of lab session

Week 7 Reading

Due Sunday 2/20/22 by 11:59PM

 

Homework 6

Due Friday 2/25/22 by 11:59PM

8

(2/20/2022)

Exceptions

Files

Modules

ZyBooks 15.1-15.16

Lab 7

Due at the end of lab session

Week 8 Reading

Due Sunday 2/27/22 by 11:59PM

 

Homework 7

Due Friday 3/4/22 by 11:59PM

9

(2/27/2022)

Recursion

Linear Search

Binary Search

ZyBooks 17.1-17.12

Lab 8

Due at the end of lab session

Week 9 Reading

Due Sunday 3/6/22 by 11:59PM

 

Homework 8

Due Friday 3/11/22 by 11:59PM

10

(3/6/2022)

Sorting Algorithms

ZyBooks 19.1-19.7

Lab 9

Due at the end of lab session

Week 10 Reading

Due Sunday 3/13/22 by 11:59PM

11

(3/13/2022)

Final Exam

DATE: Tuesday March 15

TIME: 8:00 - 10:00 AM

ROOM: Bossone Research Entr. Center in the AUDITORIUM

Final Exam Covers all Material Weeks 1 - 10