next up previous
Next: ADMINISTRATIVE POLICY AND PROCEDURES

Digital Sciences DSCI 15310 Computational Thinking and Programming
Section 001
Call Number 11530
SYLLABUS (tentative)
Fall 2011
Course Organization
This course is 100% online. Materials will be delivered on WebCt Vista (https://vista8.kent.edu), a supplementary website for video tutorials, and you will also be using a server on campus to submit work and get it graded. You will be reading the textbook, listening to lectures and doing exercises and submitting them to one of the servers loki.cs.kent.edu or hermes.cs.kent.edu. There will also be homework which will be submitted in the same manner.

The course is divided into thirteen units, most of which can be covered in a week.

Instructor:
Michael Rothstein, 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 will try to answer email within 24 hours, with priority given to cs 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
Please Note:
The syllabus may be changed during the semester if necesary: changes will be announced; they will also show up on WebCt Vista and the instructor's website.
Office Hours:

Monday: 2:00-5:00
Wednesday: 2:00-3:30 and 5:30-7:00
Friday: 2:00-3:30
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. classes
    7. Linking C/C++ code into Python programs
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.
Textbook:
Punch, William and Enbody, Richard, The Practice of Computing Using PYTHON Addison-Wesley, 2011 ISBN 978-0-13-611067-5. Available as an eText from CourseSmart.com; use
http://www.coursesmart.com/9780132142908?__professorview=false&__instructor=1110661
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.
  3. For help with WebCt Vista, there are a collection of PDF files you can look at at http://www.et.kent.edu/elearning/bbVista/?page_id=1577
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. The current version is 2.7, but most things are the same; PYTHON 2.7 just has more features than 2.6. 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. 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 the latest.

    The next two items, though useful in general, are necesary for access to the grading servers, loki.cs.kent.edu and hermes.cs.kent.edu (they are interchangeable; you may use either one)

  2. Students using Windows computers will need to download an ssh client to communicate with the computer system and server, available from the University Helpdesk http://support.kent.edu. Click on ``Downloads'' and browse around for your needs. Again, ssh usually is included in Macs and Linux computers.
  3. You may also need some means to upload your programs to the server; though the sftp or scp programs are often enough, filezilla is a good alternative. It is also available through the University Helpdesk http://support.kent.edu for both Windows and MAC. (Click on downloads and browse around).
  4. If you are trying to access campus information from outside campus, you will need the campus VPN; again, you can download that from the University Helpdesk http://support.kent.edu.
Subject and Units Calendar
As mentioned before, this course is broken up into 13 units, each corresponding, roughly, 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. The table of subjects and units follows:
Week of Unit Source Material
Aug 29 0 Syllabus and Videos Syllabus; First Python Program
Sep 6 1 Chapter 0 Use of ssh, Computers and Computer Science
Sep 12 2 Chapter 1 Variables, objects (data) and operators.
Sep 19 3 Chapter 2 Boolean variables, if statement, 1st program due
Sep 26 3 Chapter 2, continued selection, while for statement, Midterm 1
Oct 3 4 Chapter 3 Algorithm and Program development
Oct 10 5 Chapter 4 Using Functions and methods; strings, 2d program due
Oct 17 6 Chapter 5 Writing functions
Oct 24 7 Chapter 6 Lists and tuples, 3d program due
Oct 31 7 Chapter 6, continued mutable objects and usage, Midterm 2
Nov 7 8 Chapter 7 Advanced function usage
Nov 14 9 Chapter 8 Dictionaries and sets, 4th program due
Nov 21 10 Chapter 9 Files, Thanksgiving weekend.
Nov 28 11 Chapters 10 and 11 divide and conquer and classes
Dec 5 12 Python website Mixing Python and other programmiing languages
Dec 12 Final
(The Python website mentioned above is http://docs.python.org/extending/)
University Prerequisite:
MATH 11009 or 11010; or 480 SAT and Compass Algebra score of 55; or minimum 20 ACT and Compass Algebra score of 55; or minimum 620 SAT and Compass Algebra score of 36; or minimum 26 ACT and Compass Algebra score of 36. Students not satisfying this prerequisite risk being deregistered from the course.
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 at the end of the corresponding week; if you don't complete the work by the deadline, your work will be a 0; a chance will be given for you to make up the work for partial credit during the succeding weeks; I want you to succeed and will bend over backwards for you to do so.
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 email me. 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 WebCt Vista at the end of each week. When sending online communications, remember that nobody sees your face, or even your calligraphy, when they read then, so try to:

Grading:
Your grade will be based on weekly exercise grades, two midterms, one final, and assorted programming exercises assigned as homework.
Programming homework 30%
Weekly Exercises (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. The midterms and finals will be given on-line, with instructions to be distributed later.

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 September 11, 2011. 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 November 6, 2011.

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 a 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 Policies and Procedures, a condensed version of which is attached.

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: ADMINISTRATIVE POLICY AND PROCEDURES
Michael Rothstein 2011-08-28