next up previous
Next: About this document ...

Digital Sciences DSCI 15310 Computational Thinking and Programming
Section 002
Call Number 12434
SYLLABUS (tentative)
Spring, 2013
Course Organization
This course is 100% online. Materials will be delivered through Blackboard Learn (https://learn.kent.edu). You will be reading the textbook, listening to lectures and doing exercises and submitting them through Blackboard. There will also be homework which will be submitted in the same manner.

Blackboard Discussion Forums will be available for your convenience, or you can submit questions via email.

The course is divided into fourteen units; most of them are doable in a week.

Instructor:
Michael Rothstein, office 268 MSB, phone 330-672-9065.
Email address:
rothstei at cs.kent.edu (The address mrothste at kent.edu will not work too well because I do not check it as often; for a quicker response, the first address is recommended.) (Substitute @ for `` at '').
Best way to reach me is through email at the cs.kent.edu address or during my office hours. I recommend you email me directly; you can also use Blackboard email, since that reaches me directly also. I will try to answer email within 24 hours, with priority given to cs or Blackboard email. However, please do not count on an instant response; I may be otherwise occupied.
Instructor's Web address:
http://www.cs.kent.edu/~rothstei This website will contain a copy of this syllabus.
Please Note:
The syllabus may be changed during the semester if necesary: changes will be announced; they will also show up on Blackboard and the instructor's website.
Office Hours:

Monday, Wednesday, 1:00-5:00, except when pre-empted by departmental meetings. Also, you can always send email with questions and/or to set up an appointment. I try to answer email within 24 hours, with priority given to cs email. Email use is to be preferred over voicemail, which will not be checked as often.

Course Goals:
There are several goals to this course:
  1. Learn a form of reasoning, or problem solving, called Computational Thinking.
  2. Learn what a computer can do and the primitive operations it can perform.
  3. Learn what an algorithm is and learn to design simple algorithms.
  4. Learn a subset of a certain programming language called Python. This subset includes:
    1. loops
    2. if then-else and branching
    3. strings lists and dictionaries
    4. functions, procedures and their use for top-down design.
    5. files
    6. introduction to classes
This course will require a lot of extra work; just like a language is only learned with practice, a programming language and programming itself, can only be learned with lots of practice. A course similar to this has earned a reputation as a tough course because of the time required. I recommend you devote at least about 10 to 12 hours of weekly work to this course. Of course, if you get behind, these hours will add up, to the point where there will not be enough hours! (For example, if you are carrying 15 hours, that would mean that you need about 48 hours a week of study; if you goof off a couple of weeks, that will add up to a staggering 72 hours!)
Textbook:
Punch, William and Enbody, Richard, The Practice of Computing Using PYTHON Addison-Wesley, 2011 ISBN 978-0-13-611067-5. (Note we are still using the first edition). Available as an eText from CourseSmart.com; use this link to coursemart.com
Another useful book is:
Downey, Allen B. Think Python: How to Think Like a Computer Scientist Green Tea Press, 2010. This book is available at its website http://www.greenteapress.com/thinkpython/thinkpython.html
Other useful resources:
There are several resources on campus that will enable you to have more success in this course:
  1. For issues related to your computer, system software or software downloaded from the University Website, please contact the University Helpdesk at (330)-672-HELP (330-672-4357) or at their website: http://support.kent.edu; they are there to help you.
  2. For help with the course, there is help in the form of tutors from the Computer Science Department and from the College. However, your instructor will be more than happy to help you through any difficulties you may have with course. In particular the discussion forums are there for that purpose.
  3. For help with Blackboard, there is a collection of PDF files you can look at at http://www.kent.edu/blackboard/student/index.cfm
Other necesary materials:
You will need to download some software to run on your computer:
  1. You will need a PYTHON interpreter. It is freely available. There are two, incompatible, versions. We will use version 2.7.3, most versions numbered 2.6.x or 2.7.x will work; versions numbered 3.x.y will not work. For Windows users, you will need to download the whole thing from http://www.python.org. The details are specified in Appendix A in the textbook. It is strongly recommended you download this as soon as possible: you will get the Python interpreter, a program that allows you to write Python programs and test them (an editor called Idle after actor Eric Idle); this is called a ``Software Development Environment'', and some references and tutorials.

    For people using MACs and Linux Computers, you already have Python running in your computer! Python is so useful that many people have incorporated it into the operating system and used it to write programs for it. You may even have Idle (just open a console box and type ``idle'' (without the quotations) and see what happens. In the worst case, you might want to download the whole thing also. Note that the version of Python available on your system might not be 2.7.3

  2. If you are trying to access campus information from outside campus, you will need the campus VPN; you can download that from the University Helpdesk http://support.kent.edu. Contact the Helpdesk if you need help with this item.
Subject and Units Calendar
As mentioned before, this course is broken up into 14 units, the first has some introductory material, the others correspond to a chapter in the book. Not all the material in each chapter will be covered, in particular, we will only cover a few examples. Also, we will only cover until chapter 12. The table of subjects and units follows:
Week of Unit Source Material
Jan 14 0 Syllabus and Videos Syllabus; First Python Program
Jan 22 1 Chapter 0 Computers and Computer Science
Jan 28 2 Chapter 1 Variables, objects (data) and operators.
Feb 4 3 P 1 Chapter 2 Boolean variables, if statement, 1st program due
Feb 11 3 P 2 Chapter 2 (cont) selection, while, for statements, Midterm 1
Feb 18 4 Chapter 3 Algorithm and Program development
Feb 25 5 Chapter 4 Using Functions and methods; strings, 2d program due
Mar 4 6 Chapter 5 Writing functions
Mar 11 7 Chapter 6 Lists and tuples, mutable objects and usage, Midterm 2
Mar 18 8 Chapter 7 Advanced function usage
Apr 1 9 Chapter 8 Dictionaries and sets, 4th program due
Apr 8 10 Chapter 9 Files, Thanksgiving weekend.
Apr 15 11 Chapter 10 divide and conquer
Apr 22 12 Chapter 11 Classes I
Apr 29 13 Chapter 12 Classes II
May 5 Final
University Prerequisite:
Technically, there is no prerequisite; however, some familiarity with reading and writing algebraic formulas will be useful.
Other Prequisites:
You need to be able to use a computer, to use the web, to download programs and use them. You will not be able to progress in the course without these skills.
Work policy
Each unit has some graded work assigned to it; your grade for that work will show up on Blackboard soon after you complete it; in the interest of minimizing attrition, I will not penalize late work (distance learning is hard enough as it is). Do not take this as a get out of jail card! If you get behind, it will be harder for you to catch up, and you will start to get nagged from all kinds of quarters, so try to stay on time!. I want you to succeed and am bending over backwards for you to do so, but you have to work hard. Usual effort required is around 10-12 hours/week.
The 30 minute rule
If you have difficulty with a concept, mull it over; try to listen to the lecture again; if after thirty minutes you are still having difficulties, please contact me (email or in person). We can work through the issue together and post the answer so other people may benefit.
On online communications:
Please check your KSU email at least every other day; grades will be posted on Blackboard Learn at the end of each week. When sending online communications, remember that nobody sees your face, or even your calligraphy, when they read them, so try to:

Grading:
Your grade will be based on periodic exercise and quiz grades, two midterms, one final, and assorted programming exercises assigned as homework. Though I will not assign a grade to the discussions, per se, lively, interested participation will result in a higher grade. The weights are:
Programming homework 30%
Weekly Exercises and quizzes (the total) 20%
Midterm 1 (Last week of September) 15%
Midterm 2 (First Week of November) 15%
Final (Finals Week) 20%

All quizzes and exams will be comprehensive. This includes the final.

Test make-up policy:
I will need signed documentation to verify individual absences in order to provide make-ups; only university accepted reasons will be honored.
Grading scale:
I will assign number grades during the session and only convert them to letter grades when I turn them in at the end of the session. No decision can be made regarding a conversion table until the very last minute due to such imponderables as test difficulty, class participation, etc. which will influence the grade. However, I guarantee the following, worst case, table:

97-100 will convert into an A
94-96 will convert into at least an A-
91-93 will convert into at least a B+
88-90 will convert into at least a B
85-87 will convert into at least a B-
82-84 will convert into at least a C+
79-81 will convert into at least a C
76-78 will convert into at least a C-
73-75 will convert into at least a D+
66-72 will convert into at least a D

Special accommodations for Students with Disabilities:
University policy 3342-3-01.3 requires that students with disabilities be provided reasonable accommodations to ensure their equal access to course content. If you have a documented disability and require accommodations, please contact the instructor at the beginning of the semester to make arrangements for necessary classroom adjustments. Please note, you must first verify your eligibility for these through Student Accessability Services (contact 330-672-3391 or visit:
http://www.kent.edu/sas for more information on registration procedures).
Registration Requirement:
The official registration deadline for this course is January 27, 2013. University policy requires all students to be officially registered in each class they are attending. Students who are not officially registered for a course by published deadlines should not be attending classes and will not receive credit or a grade for the course. Each student must confirm enrollment by checking his/her class schedule (using Student Tools in FlashFast) prior to the deadline indicated. Registration errors must be corrected prior to the deadline.

The last withdrawal date for this course is March 24, 2013.

On cheating, plagiarism and other unethical behavior:
You are encouraged to discuss class problems with other students but required to work independently of anybody else except the instructors and/or tutor, unless otherwise indicated. Copying other people's work, allowing your work to be copied (even inadvertently!) and plagiarizing work will not be tolerated and will be dealt with according to University regulations, as described in the University policy register on cheating

Notes:

  1. By default, the penalty for cheating in this course is an ``F'' in the course.
  2. University regulations require me to notify Student Conduct in case of violations.
  3. Cooperation is just as bad as the deed itself: so, deciding which of two is the original is a non-issue: both are equally guilty.




next up previous
Next: About this document ...
Michael Rothstein 2013-01-01