Instructor: CS/DS 1100

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

VANDERBILT UNIVERSITY


COURSE SYLLABUS

SPRING 2022


CS/DS 1100 - Applied Programming and Problem Solving with Python 

Section 21: MWF 10:10 am – 11:00 am, Engineering Science Building (ESB) 044



Instructor
Prof. Peng “Dana” Zhang
(Dr. Zhang)
E-mail: [email protected] 



Office: 
Sony Building 2023 (1400 18th Ave S)




Office Hours:
Wed 3:00pm – 4:00pm (Sony 2023 and Zoom), and
5:30pm – 7:30pm (Zoom Only)
Otherwise by appointment
Office hours Zoom link:
https://vanderbilt.zoom.us/j/92270538883?pwd=K2MwWG5BMlhEcGRjMDJBSE5EbWZmQT09

Teaching Assistants (TAs):


-- Names and email addresses of all TAs will be posted on Brightspace (under the
"Staff" link).

-- TA Office Hours will be posted on Brightspace (under the "Staff" link).


Instructor response time: Any non-confidential questions about the course are
encouraged to be posted to Piazza rather than individual emails. When emailing, a
student can expect to receive a response from the instructor within 24 hours of a
student's email except during weekends and holidays.

Course Description:
CS/DS 1100 Applied Programming and Problem Solving with Python (3
credits) - CS/DS 1100 is intended to be an introductory course in computer
programming. It is designed considering the students who have little or no
programming background, are interested in scientific computing or data science, or
are just generally interested in computer programming but do not intend to major or
minor in computer science. This course wants to provide a foundation in computing
and computational thinking, with an eye towards using computer programs to solve
problems. The course plans to cover fundamental programming concepts and how to
design, debug, and run programs. In addition, the course plans to cover scalar,
vector, and matrix numeric computations, text processing, and basic visualization
used in scientific computing and data science. We will use two programming editors
in this course: PyCharm and Jupyter notebooks.

1
Method of Instruction:
The course will be taught in three fifty-minute lectures per week (MWF sections).

Course Overview:

This course will improve a student’s ability to build a foundation in computing and
computational thinking, with an eye towards using computer programs to solve
problems. It is designed for students who are interested in computer programming
but do not intend to major or minor in computer science. This section of this course
will provide additional focus on data science projects with data processing and
visualization.

Course Topics:

This course introduces students to write Python programming to solve problems in


the multi-disciplinary area. The following topics will be covered in this course.

1. Introduction to Python and Jupyter Notebooks


2. Variables and expressions
3. Types
4. Branching and conditionals
5. Functions
6. Strings
7. Loops and NumPy arrays
8. Lists and dictionaries
9. Files and packages
10. Data science packages and visualization
11. Plotting with Matplotlib
12. Basics of vectors and matrices
13. Practical problem solving

Student Outcomes
1. Build a foundation in computing and computational thinking, with an eye
towards using computer programs to solve problems.
2. Improve the computer programming skill of students who have little or no
programming background, who are interested in scientific computing or
data science, or just generally interested in computer programming but do
not intend to major or minor in computer science.

Textbooks, Supplementary Materials, Hardware and Software


Requirements

2
Required Hardware:
• All students in this class must have a portable computer that meets the
specifications at
https://engineering.vanderbilt.edu/transit/ComputerRecommendation.php or
those in effect during the year of entry to VU.
• You must have internet access with a minimum bandwidth of 3 Mbps.
• You must have earphones/headphones with a microphone. These need not be
fancy. I do recommend ones that fully occlude the ear canal to cut down on
extraneous noise.

Required Textbook:
• zyBooks - CS 1100/DS 1100: Applied Programming and Problem Solving with
Python (Spring 2022)
• You can subscribe by following the instructions below:
• Sign in or create an account at https://learn.zybooks.com (be sure to use the
email address that matches your email in YES).
• Use your VUnet ID as the student id (e.g., smithjp)
• Copy instructions to clipboard
• Enter zyBook code: VANDERBILTCS1100-DS1100Spring2022
• Subscription: A subscription is $67. Students may begin subscribing now and
the cutoff to subscribe is May 10, 2022. Subscriptions will last until Jun 14,
2022.

Course Management System and Other Needed Software:

1. Brightspace (Course Hub) - This course will utilize Vanderbilt's Brightspace system
(https://brightspace.vanderbilt.edu). This course management tool will be an
important source of information regarding the class content, discussions and
communication. You are expected to check it regularly (every 24 hours at a
minimum). You are responsible for any class announcements or schedule
changes (e.g., change in due dates) posted to Brightspace.


2. Piazza (Q&A) - We utilize the online social media tool, Piazza


(https://www.piazza.com, as our course discussion board for questions and
answers regarding course material. Questions regarding homework can be
posted to Piazza rather than being emailed to the course instructor or TA.
Students are encouraged to answer questions from other students. Please make
sure you read and understand the class restrictions on using this tool (they are
posted in Piazza). In particular, you are not allowed to post code or answers that

3
deal with any programming assignments. You will be automatically added to
Piazza and it will be linked directly from our Brightspace course.


3. TopHat (Lectures) - This semester we are using the Top Hat classroom response
system (https://www.tophat.com/) to take feedback, attendance, present lectures
and participate with in-class questions. You will be able to participate in real-time
using Apple or Android smartphones and tablets, laptops, or through text
message. There is no cost to use TopHat since the subscription is paid for by
Vanderbilt. An email invitation will be sent to you by email, but if you don’t receive
this email, you can register by simply visiting Top Hat course web site. Ask your
professor for the code to join the class. Need more information on TopHat? You
can visit the Top Hat Overview within the Top Hat Success Center which
outlines how you will register for a Top Hat account, as well as providing a brief
overview to get you up and running on the system. Should you require
assistance with Top Hat at any time, due to the fact that they require specific
user information to troubleshoot these issues, please contact their Support Team
directly by way of email ([email protected]), the in-app support button, or by
calling 1-888-663-5491.


4. Gradescope (HWs) - We will utilize Gradescope (https://www.gradescope.com) for


submitting/grading PA assignments. There is no cost to register for Gradescope
and you will be automatically added before the first PA assignment is due.

* The Family Educational Rights and Privacy Act (FERPA) is a federal law
designated to protect the privacy of a student’s education records and academic
work. All files, records, and academic work completed within this course are
considered educational records and are protected under FERPA. In this course, we
will be working with third-party applications online. It will be your responsibility to
read the privacy documentation at each site. The online component is required as
part of this course. I will take your continued enrollment in this course as consent
regarding this policy. If you still have concerns, please contact your instructor as
soon as possible to discuss your options.

Honor Code System


The Honor Code System of Vanderbilt University applies to all work done in CS/DS
1100 this semester. Unless your instructor specifically states otherwise in writing,
this work comprises programming assignments, quizzes, and examinations, as
described in the Assessments and Grading section. It is your obligation to make
certain that you understand and abide by all these rules. This course utilizes
special software tools to identify potential plagiarism in programming projects.
Anyone suspected of cheating (i.e., copying from someone else’s test/quiz, bringing
unauthorized notes to tests, etc.) will be reported to the honor council. Individual
work must be prepared individually, although group discussions are generally

4
permitted to obtain ideas and perspectives. The information below regarding the
Honor Code System comes from the Vanderbilt University Student Handbook .

"Cheating, plagiarizing, or otherwise falsifying results of a study is prohibited. The


System applies not only to examinations, but also to all work handed in (including
drafts), such as papers, reports, solutions to problems, tapes, films, and computer
programs, unless excepted by the instructor. The System also applies to any act
that is fraudulent or intended to mislead the instructor, including falsifying records of
attendance for class, for events for which attendance is required or for which class
credit is given, or for internships or other work service. Work in all courses—
including those that involve, in whole or in part, online learning—is subject to the
provisions of the System..."

In terms of this course, the basic rule is this: Unless otherwise specified by the
instructor in writing, all work submitted in this class must be done on your own
without assistance from any person, place or thing except the instructors or TA
for this course and the course textbook and lecture slides. For homework
assignments, and exams, you may use your class notes, any posted class
resources from Brightspace, and your chosen textbook. All participation and
collaboration assignments are meant to be collaborative. It is your obligation to
make certain that you understand and abide by all these rules. If you have any
doubts, ask your instructor for clarification, not another student (not even the
teaching assistant). In addition to other possible disciplinary sanctions that may be
imposed, the presumptive penalty for a first offense is a grade of failure in the
course.

Assessments and Grading

Grading Scale:
Final grades for this course are based on your final course average as follows in
the table below. Cutoffs for the +/- grades will be determined at the end of the
semester. A final grade between 80% and 89.9% will give you a B grade in this
class. Within this range, B-, B, and B+ will be distinguished during the final
calculation of the grades at the end of the semester. This is done for each grade
range from A to D.

Average Assigned Grade


>=90 A category *
80-89.9 B category *
70-79.9 C category *
60-69.9 D category *
< 60 F
Grade of Incomplete (I) - The Incomplete (I) is a temporary placeholder for a grade
that will be submitted at a later date. The grade of I is given only under extenuating

5
circumstances and only when a significant body of satisfactory work has already been
completed in the course at a satisfactory grade. For additional information, please see
page 289 of the Undergraduate Catalog .

Grading Assessment:
Your final course average is based upon the following areas (for exam dates, see the
course calendar):

Description Weight
Programming Assignments (equal weights) 40%

Exams are Weighted as follows:


45%
Exam 1 = 10%, Exam 2 = 15%, Final exam = 20%

TopHat 5%
Weekly zyBooks Activities (Participation and
10%
Challenge Activities)

Programming Assignments (PA):


Programming assignments are each given the same weight in the final grade
regardless of the total point value on the assignment. Programming Assignments
must be done completely on your own.

Programming Assignment Late Policy:


PA assignments will have a specific due date and time, usually 11:59 PM on
Thursday. Assignments turned in up to 24 hours late can receive a maximum of
80% credit of their score, and those turned in 24 - 48 hours late can receive a
maximum of 50% of their score. After 48 hours past the due date, no
programming assignments will be accepted for credit. If, in a previous
assignment, you were somehow granted a grace period and were not penalized
even though you were 1 – 60 minutes late (for example), do not take this to mean
that every assignment has a grace period. This misconception caused heartache
for several students in the past. All assignments must be submitted online. Do not
slide late work under my or the TA's door. It will not be graded. Any assignments
not submitted will receive a grade of 0.

Programming Assignment (THREE free late days):


We understand that unforeseen emergencies (illness, accidents, dead PCs, etc.)
occur. Instead of having to ask for special allowances on an individual basis, we
give each student a self-granted extension or "free late day." This free single late
day will allow you to turn in a single programming assignment late - specifically up
to 24 hours late without penalty. As these free late days are kept for unforeseen

6
emergencies, it is not wise to use them at the beginning of the semester. Again,
there are limited (or rare) opportunities if you request further deadline extensions.
The free late day will automatically be applied to the first three PAs you turn in late.
Keep in mind the free late day is only for PAs and MAY NOT be used for zyBooks
activities, exams, or any other course activity. You cannot accumulate three free
late days and use them in one PA.

Word to the wise: We will not ask for justification when your free day is utilized,
but we will assume you will use your self-granted extension wisely. It pays to save
your free day for true cases of emergencies (e.g., your hard drive crashes, you
come down with the flu, etc.). Further extensions are not considered. In all cases,
no Programming Assignments will be accepted more than 48 hours after the
original assignment due date. Further extensions are rarely granted if you
already use three free late days. However, contact your course instructor who can
grant extensions, not the TA's.

Exam/Quiz Policy:
All exams are a closed book and must be done completely (in-person) on
your own. You are allowed to take one (11x8.5 in) page cheat sheet (both sides) in
the exam. Exams must be taken at announced times unless the instructor gives
you previous permission for a school-approved absence. Otherwise, a late
penalty of 50% will be assessed for any exam given up to 48 hours late. After 48
hours, no makeup exams will be administered. A student sending an email or
leaving a message on the university phone system does not constitute permission
to miss the exam or take a makeup exam. If you do not have the Dean’s note or
doctor’s recommendation, do not (email) request for makeup exams. Note
that the recommendation/notes MUST mention that you are not suitable to
take the exam on the original scheduled day and time.

zyBooks Activities:
Each zyBooks section contains three types of questions: Participation Activities,
Challenge Activities and Additional Exercises. Completion of participation activities
and challenge activities contributes directly to your grade through your participation
score. The additional exercises are self-study for extra practice and do not directly
count toward this grade category (although these indirectly help you perform better
on exams). Every week you will receive an assignment to:
• Read a chapter (or portion thereof) from zyBooks.
• Complete the corresponding Participation and Challenge activities.
Over the course of the semester, your goal is to earn 80% or more of the total
available points. If you accomplish there, you will receive a score of 100% for your
zyBooks weighted average. Please note that each zyBooks chapter (or portion
thereof) must be completed on or before its respective due date (usually Thursday
by 11:59pm) in order to receive credit for it. You may not use your free late day

7
for zyBooks activities. As an average 80% score is considered as 100%
points at the end of the semester, please do not send us email (for
reconsideration) if you miss one ZY-deadline.

zyBooks Completion Percentage Grade


>= 80% 100%
Percentage that you
>= 0% thru < 80%
completed

TopHat Activities:
Lectures will utilize the TopHat Response System for both in-person attendance
and interactive responses. TopHat questions will be graded based on participation,
and correctness. Over the course of the semester, your goal is to earn 80% or
more of the total available TopHat participation points. If you accomplish there, you
will receive a score of 100% for your TopHat weighted average. There is leeway for
you to miss a class without worrying about missing TopHat. You must be present to
participate in the TopHat questions since the questions may be displayed on the
projector in the classroom. Participating in TopHat questions without being present
in class can result in a grade of zero for your overall TopHat score for the semester.
As an average or above 80% score is considered as 100%, don’t send email
(for reconsideration) if you miss one day’s TOPHAT questions.

TopHat Completion Percentage Grade


>= 80% 100%
Percentage that you
>= 0% thru < 80%
completed

How To Check Your Progress:


Your grade of each category except TopHat will be posted on Brightspace
periodically. Your TopHat grades will be posted periodically directly on TopHat and
recorded as a single column at the end of the semester. It is your responsibility to
check your grades on a regular basis to ensure they are correct. Keep in mind that
after the two-week appeal period after a grade is posted, that grade will not be
changed.

How To Calculate Your Final Grade:


Although total points on an assignment may vary, the actual weighting is the same
for all assignments. You can calculate your weighted final course average as
follows:

8
• For each category (e.g., PAs, exams, etc.), calculate your score as a
percentage of the total possible points for that work.
• Calculate the weight of each category by multiplying the score from #1 by the
weight assigned to that category.
• Calculate the percentage for your final exam and multiply that by the weight of
the final exam.
• Add up your total points. The maximum should be 100 if you did it correctly.

Grade Appeals:
If you have a question about the grading of your PAs or exam, start with the person
who graded the work (TA or instructor). You have two weeks from when the
grade is posted to notify the TA that you have a question about how your work
was graded. It is your responsibility to bring your work to the TA for re-
consideration. If the problem cannot be resolved with your TA, then notify the
instructor. After the two-week period, no grade will be changed.

Course Ground Rules and Guidelines for Course Communication

Class Communication:
Your full engagement in this course is essential not only for your own learning but
for the shared educational experience of the class. Students are expected to
communicate with other students and their instructor by participating actively in all
aspects of this course. This includes checking emails and Brightspace regularly (at
least every 24 hours) and staying up to date with class announcements.

Students are expected to:


• Participate in all aspects of the course.
• Abide by the Honor Code System, as stated for this course.
• Communicate with other students in a polite and professional manner.
• Learn how to navigate the course in Brightspace.
• Keep abreast of course announcements.
• Ask questions when confused or needing clarification.

Email:
• Be sure to check your course emails every 24 hours and respond to any requests
for more information as needed.
• Be sure to always include a subject line that includes the course title (e.g.,
CS/DS 1100- Question about PA 2).
• Be sure to sign your name (e.g., "Thanks for any help you can provide. -John
Smith").
• Write your full name (the name you used for registration); don’t write your new
(e.g., English) name that your friends use to call you

9
• Do not type in all capitals or use colored backgrounds.

Brightspace/Piazza:

• Be sure to check Brightspace every 24-48 hours for important information.


• Be sure to include an appropriate subject line when posting to the discussion
board (e.g., Question about PA 2).
• Try to be helpful and encouraging to your classmates.

Physical & Mental Health/Wellness

No one with symptoms that could be due to COVID-19 is to come to class.


You should get tested at either Student Health, Occupational Health, or other
testing location in the community and self-isolate while awaiting results. If you are
experiencing undue personal and/or academic stress during the semester that may
be interfering with your ability to perform academically, Vanderbilt’s Student Care
Network offers a range of services to assist and support you. I am available to
speak with you about stresses related to your work in my course, and I can assist
you in connecting with the Student Care Network. The Office of Student Care
Coordination (OSCC) is the central and first point of contact to help students
navigate and connect to appropriate resources on and off-campus, develop a plan
of action, and provide ongoing support. You can schedule an appointment with the
OSCC at https://www.vanderbilt.edu/carecoordination or call 615-343-WELL. 


The Student Care Network also offers drop-in services on campus on a regular
basis. You can find a calendar of services at
https://www.vanderbilt.edu/studentcarenetwork/satellite-services . 


If you or someone you know needs to speak with a professional counselor
immediately, the University Counseling Center offers Crisis Care Counseling during
the summer and academic year. Students may come directly to the UCC and be
seen by the clinician on-call or may call the UCC at (615) 322-2571 to speak with a
clinician. You can find additional information at https://www.vanderbilt.edu/ucc .

Special Accommodations
Vanderbilt is committed to equal opportunity for students with disabilities. If you
need course accommodations due to a disability, please contact VU Student
Access Services at https://www.vanderbilt.edu/student-access/ to initiate that
process. Unless receiving notification from you, your instructor assumes that you
have no disabilities nor seek any accommodations in this course. Any
accommodations for the student must be discussed directly with the instructor.

Diversity and Inclusion


Because the class will represent a diversity of individual beliefs, backgrounds, and
experiences, every member of this class must show respect for every other
member of this class. It is my belief that everyone in this class can excel and that

10
our collective learning experience is improved by including everyone fully. Toward
that end, I commit to doing my best to use inclusive language and practices. If you
observe actions in which I am not respectful or inclusive, please bring those to my
attention.

Sexual Misconduct or Power-Based Personal Violence


If you have experienced sexual misconduct or power-based personal violence,
please contact Project Safe at https://www.vanderbilt.edu/projectsafe , the VU
Police Department, or the nearest emergency room as best fits your needs. If you
share with me any information about such experiences, I am required by law to
report this to Vanderbilt’s Title IX Coordinator.

Alternate Scheduling
Alternate scheduling of classes may sometimes be necessary because of
inclement weather or unforeseen circumstances. In the event of such
circumstances, local television and radio stations and the Vanderbilt website will
carry announcements and updated information.

Syllabus Changes
The instructor reserves the right to make changes as necessary to this syllabus. If
changes are necessitated during the term of the course, the instructor will notify
students of such changes both by posting both notification and nature of change(s)
on the course bulletin board.

Good Luck!
The objective of this class is to teach you the fundamental principles and concepts
that you will use throughout your career in data science (and other engineering
subjects). Some of these concepts will come easily to you; others will take you
more time to grasp. This is all part of the learning process. So, give yourself the
needed time to learn and understand the material. Good luck - I hope you enjoy the
course, learn a lot and get the grade you are capable of earning. I wish you a very
successful journey in Applied Programming and Problem Solving with Python.

11

You might also like