CS106 Introduction to Computer Science I
Summer 2021
Skidmore College
Syllabus

Instructor:
  Dr. Michael Eckmann
  Associate Professor
  Computer Science Dept.
  CIS230F
  email: meckmann@skidmore.edu
Instructor webpage: https://meckmann.domains.skidmore.edu/

Course webpage: Summer 2021 CS106

=====================================================


Text
(Required)

Introduction to Python Programming
by David Read and Christine Reilly

Other readings as handouts/links.


=====================================================

Course Overview

This course is an introduction to computer science. The course will
cover programming using the Python programming language as well as
problem solving using computer programs.

=====================================================

Student Learning Goals and Objectives

1. To understand, to some degree, what computer science is.

2. To understand, be able to read and be able to write programs
using the Python programming language to achieve specific tasks.

3. To gain an appreciation of computer science.

4. To learn and practice good techniques for writing, testing and debugging code.

Goals will be assessed mostly by 2 exams and 4 programming projects. General
assessment of the whole class also takes place weekly during lab sessions and
lectures which engage the students in analysis and discussion of the topics.
=====================================================

Class meetings

Mix of Lecture and Lab
M, Tu, W, Th, & F
09:00 a.m. - noon CIS room 237

=====================================================

Assignments

The course will have approximately 4 programming assignments. The
submission procedure will be given when it comes time for you to submit
programs.

One policy that you must follow is: Give proper attribution to any code
you get out of a book or off the web or any code that you yourself did
not write. That is, if you use code (even a small amount) taken from
another source (the text book or lecture notes or elsewhere), you *must*
cite the source in a comment in your program. If you do not, it may be
considered plagiarism. The program source code will be read. Source code
documentation and organization should make your program easy to read,
and convey your understanding of the techniques your program
demonstrates. Poor documentation and programming style will result in a
lower score. (Note: This policy is borrowed from G. Drew Kessler's
(Lehigh University) program policy. See, I gave proper acknowledgment. ;-)

In addition to programming assignments, there will be conceptual
homework assignments.
Assignments and class handouts will be available on the World Wide Web at
URL https://meckmann.domains.skidmore.edu/2021Summer/cs106/
Late assignments will incur 10 percent off per calendar day.
Please type all assignments.

=====================================================

Grading Policy

A grade is first calculated by the following scheme:

20% Exam 1 (closed book)
30% Final Exam (part closed book, part open book)
30% Programs and homework assignments
20% Labs

However, your final grade will be influenced either positively or
negatively by how I, the instructor, evaluate you on the following:
a) class participation
b) good attendance (not just physical)
c) increase of performance throughout the semester,
d) quality/effort of your program/homework submissions (aside from just
   correctness)
e) lateness of your program/homework submissions


Class participation includes answering questions in class, asking
questions in class, visiting me during office hours, or by appointment
and asking questions through email. Class participation is based on my
assessment of the student's voluntary contribution, plus their responses
to questions I ask them.

If assignments are habitually submitted late or one is more than a couple
of days late, then this can negatively effect your overall course grade.

Each program/homework/exam may be graded on a curve (with assignments not
turned in not affecting the curve). Programs and homework assignments will
have point values that reflect their relative weights.

In general each curve will have a mean between B- (2.7) and B (3.0),
depending on my assessment of the overall performance.

=====================================================

Academic Integrity

I list here the policies by which the students of this class are expected to abide.
1. Improper Collaboration Policy.
2. Skidmore Honor Code and Academic Integrity.
3. The Ethics of Scholarship.

Failure to abide by these policies results in a negative learning environment
and you should expect to be held accountable.

=====================================================

Attendance

Please be on time as class will start promptly at 9 a.m.

Attendance is mandatory. Missing more than one 3 hour session will lower your grade.

Any exams given cannot be made up. Those students who are absent when an exam is given
are given a zero for that exam. This policy is strict.

=====================================================

Workload

I expect students to devote approximately 2 hours per day outside of class on the work for this course.

=====================================================

Disability Accommodations
If you are a student with a disability and believe you will need academic
accommodation, you must formally request accommodation from Meg Hegener,
Coordinator of Student Access Services (mhegener@skidmore.edu). You will
also need to provide documentation which verifies the existence of a disability
and supports your request. For further information, please call 580-8150 or
stop by the Office of Student Academic Services in Starbuck Center.

=====================================================

Title IX Statement
Skidmore College considers sexual and gender-based misconduct to be one
of the most serious violations of the values and standards of the
College. Unwelcome sexual contact of any form is a violation of students'
personal integrity and their right to a safe environment and therefore
violates Skidmore’s values. Sexual and gender-based misconduct is also
prohibited by federal regulations and state regulations. Skidmore College faculty are committed
to supporting our students and upholding gender equity laws as outlined
by Title IX. If a student chooses to confide in a member of Skidmore's
faculty or staff regarding an issue of sexual or gender-based misconduct,
that faculty or staff member is required to tell Skidmore’s Title IX Coordinator or Title IX
Deputy Coordinator. The Title IX Coordinator or Deputy Coordinator will assist the
student in connecting with all possible resources for support and
reporting both on and off campus. Identities and details will be shared
only with those who need to know to support the student and to address
the situation through the college's processes. If the student wishes to
confide in a confidential resource, The Counseling Center Staff, Health
Services, and Victim Advocates (anonymous) are all options available.
More information can be found at the Sexual and Gender-Based Misconduct website or by contacting the Title IX Coordinator, Joel Aure (jaure@skidmore.edu), 580-5708, or Deputy Coordinator for Student Affairs, Gabriela Melillo (gmelillo@skidmore.edu), 580-5022.

=====================================================

Topics
The order in which we will cover the topics in this course.

Introduction to course & Introduction to Python programs

Variables, Types

Strings

Keyboard Input

Control Structures
if's & different looping structures
conditionals/booleans

Function
arguments, parameters

Files

Recursion

Lists (single & multidimensional)

Searching & Sorting algorithms

other topics (if time permits)

=====================================================