CS 171 Computer Programming 1

CS 171 Computer Programming 1 - Syllabus

Term and Credits

Fall 2017-2018
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: Monday 3-4pm, Tuesday 3-5PM, Thursday 3-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.

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
From ZyBooks
Sign up at learn.zybooks.com
Enter Code DREXELCS171BoadyFall2017 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.

Readings

Each week sections of "Programming in Python 3" will be assigned as reading. You are required to complete all Participation Activity and Challenge Activity questions in the readings.

Reading assignment must be completed by the due date.

Late Submissions will not be accepted for Readings.

Labs

Attendence at labs is required to receive credit. If you cannot attend lab you MUST email the TA for your lab and schedule a makeup meeting.

Lab groups will be teams of two. You will use Pair Programming. One member will act as the Driver, who types up the code, and one person will be the Observer, who reviews the code and makes suggestions. You are expected to switch positions throughout the lab.

Your lab grade is based upon your attendance in lab, participation in individual and group lab activities, and completion of assigned lab projects. Each lab period you will be given an assignment which must be started in class. During class time you may consult with other students or the TAs if you need help on the lab. Because labs involve group work experiences, you are expected to attend and participate as part of a group, and not work alone outside the lab.

If you cannot make a lab, you must notify the TA or Professor prior to Lab. You may complete the lab during any TA's office hours. If you do not notify the TA prior to the missed lab and/or don't work on the lab during his/her office hours then you will receive zero credit for that lab. Makeup labs must be done within one week of the original lab.

All lab assignments will be listed on BBLearn. There you will find instructions for each lab.

If you cannot finish a lab in class, you may complete the lab at home. This requires that you started the lab in class and spent the entire lab working on it but did not finish. To receive credit for the lab, you MUST meet with the TA to have your lab grade updated. The TA will review your work and update your grade. This MUST be done within one week of the original lab date. (Before the start of the next lab.)

Labs are only accepted for one week from the date of the lab unless an special exception is given.

The lowest lab grade will be dropped.

Quizzes

Quizzes will be given during lecture in even weeks.

Quizzes are to be completed individually. Talking to other students or looking at other student's answers is a violation of the academic honesty policy.

The lowest quiz grade for the term will be dropped.

Attendence

Some lectures will have attendence exercises that must be completed during lecture to receive credit for attending the lecture.

Some weeks attendence will only be counted by sign it sheet or having taken that week's quiz.

The lowest attendence grade will be dropped.

Assignments

All assignments will be posted with a due date. No late material will be accepted. Even if the submission is less than a second overdue. Make sure to submit early.

Your lowest assignment grade will be dropped.

All written material (non-code) must be prepared on a word processor, converted to pdf, and submitted electronically via BBLearn.

Although labs are designed to be collaborative, readings and assignments are meant to be done individually. Copying from others (online sources or classmates) results in an automatic zero for the assignment and additional penalties (including a drop of one letter grade or failure for the class).

Assignments will be submitted to learning.drexel.edu by 11:59PM on the date they are due. Grades will be reported via learning.drexel.edu.

Assignments and exams will be returned on a regular basis to provide feedback to students.

Late Submissions will not be accepted without written proof (see special exceptions below). Dropping the lowest grade allows you to miss an assignment.

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/

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

Tentative Course Schedule

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

Week Topic Reading Lab Notes
1 (9/25/2017) What is a Program? Introduction to Python Chapter 1 (Due Monday 8AM Oct. 2) Lab 1  
2 (10/2/2017) Variables, and Expressions Chapter 2 (Due Monday 8AM Oct. 9) Lab 2 Quiz 1 in Lecture
3 (10/9/2017) No Lecture for Columbus Day Lab 3 HW 1 Due Friday Oct 13 at 11:59PM
4 (10/16/2017) Types Chapter 3 (Due Monday 8AM Oct 23) Lab 4  
5 (10/23/2017) Branching Chapter 4 (Due Monday 8AM Oct 30) Lab 5 HW 2 Due Friday Oct 27 at 11:59PM
Quiz 2 in Lecture
6 (10/30/2017) Loops Chapter 5 (Due Monday 8AM Nov 6) Lab 6  
7 (11/6/2017) Functions Chapter 6 (Due Monday 8AM Oct 13) Lab 7 HW 3 Due Friday Nov 10 at 11:59PM
Quiz 3 in Lecture
8 (11/13/2017) Strings and Files Chapter 7 & 8 (Due Monday 8AM Nov 20) Lab 8  
9 (11/20/2017) Lists and Dictionaries Chapter 9 (Due Monday 8AM Nov 27) No Lab (Thanksgiving) HW 4 Due Friday Nov 24 at 11:59PM
Quiz 4 in Lecture
10 (11/27/2017) Recursion Chapter 10 (Due Monday 8AM Dec 4) Lab 9
11 (12/4/2017) Plotting and Review Chapter 11 (Due Monday 8AM Dec 11) Exam Review HW 5 Due Friday Dec 8 at 11:59PM
Quiz 5 in Lecture
12 (12/11/2017) Final Exam Time and Location TBD