Course Website: http://cs110-03.cs.usfca.edu
We have a class google group:
Send messages to: firstname.lastname@example.org
Most of you will be automatically subscribed with your USF Dons email account. If you are not subscribed, send me a message and I'll subscribe you.
Lecture: CSI G12 TR 2:40pm-4:25pm
Midterm1: Thursday, October 3th, 2013 (in class)
Midterm2: Thursday, November 14th, 2013 (in class)
Final: Thursday, December 12th at 3:00pm to 5:00pm in CSI G12
Teaching Assistant: Mlilca Hadži-Tanović
Teaching Assistant: Adam Toth-Fejel
During the semester we will spend time learning how to program by writing interesting software. We will learn how to perform numerical computations, process and transform text, draw graphics and animations, and build dynamic, interactive web sites.
Much of what you build in class will be accessible on the web for your friends and family to see.
In this class, equally important to learning how to program is learning effective problem solving.
On completion of this course the student should be able to accomplish the following:
We will be using the online book:
How to Think Like a Computer Scientist (http://openbookproject.net/thinkcs/python/english2e)
There are many Python resources online. Here is a good Python language and library reference:
The Python Quick Reference (http://rgruet.free.fr/PQR27/PQR2.7.html)
A very good optional Python reference is:
Assignments and Exams
Python Essential Reference, 4th Ed.
David M. Beazley
This is primarily a reference for the Python programming language. As you become more familiar with the language, you will use this to write more complicated programs. I recommend reading Chapter 1 several times, even if you do not fully understand all the concepts. We will cover most of this in this course.
Your classwork wil consist of labs, projects, and exams. Lab assignments will be assigned in class and you will be given time to complete the labs during the lab portion of the class. Labs will generally be due each Monday at 5pm. You will put your code and answers to questions on your portfolio web site (more on this below). Labs will be graded on a done or not done basis.
We will have approximately four programming projects throughout the semester. While the labs will usually be short exercises, the projects will be larger and more focused on a specific problem.
Note that during the semester you will have to complete both labs and projects. You should expect to spend considerable time outside of class working on your assignments. You should start early and come see me or the TAs if you need help.
Throughout the semester you will maintain a class portfolio as a USF Dons Google Site. If it is not in the portfolio it does not exist! I will walk you through how to create a Google Site.
If you score 90% or higher will be guaranteed an A-. For some assignments and exams the Min values may be lowered depending on the level of difficulty. The Min values will never be raised.
Conciseness and neatness of your solutions are considered in the grading of assignments and exams. While being neat won't necessarily improve your score, being messy will certainly lower your score.
Only turn in what you intend to have graded.
Assignments must be turned in on time to receive credit. Except in the most extreme situations, late assignments will not be accepted. If you cannot complete an assignment by the due date, hand in whatever you have done in order to receive partial credit.
Class attendance is not required, but it is highly recommended. Please show up on time to class.
In general, assignments to be considered for regrades must be turned in no later than one week after the graded assignments were made available, not from when the student picked up her or his paper. However, at the end of the semester, assignments to be considered for regrades must be turned in earlier, as will be announced. Similarly, any misrecorded grades must be reported within a week of their posting, except as will be announced at the end of the semester.
Make-up or early exams will not be given except in the most extreme situations. If you must miss an exam due to extreme illness, etc. contact the instructor (email is fine) or leave a message with the Department of Computer Science office (415.422.6530) before the exam.
You may use your laptop during class as long as you are using it in order to take notes or to look up information regarding the lecture content. Please do not user your laptop for any other activity such as to read or compose email, to use instant messaging software, or to play games. This is very disruptive to me and the other students in the class, not to mention that it will distract you from learning the material. If I have reason to believe you are not using your laptop in a productive way I will ask you not to use it in class.
Each student is to do his or her own work on the homeworks and projects. It is fine to talk with others about general approaches used to solve the assignments or simply to understand the problem statement, but each student is to develop his or her own solution; collaborative efforts are not allowed.
In addition, using solutions from any other source is forbidden. In particular, using solutions (either instructors' or other students') from previous offerings of this course is not allowed. To summarize: all projects and labs are to be individual and original efforts.
If you are caught cheating or plagiarizing (e.g., collaboration, copying on exams, cutting and pasting text) I will assign you a F for the course and you will be reported to the Dean.
When you email the instructor, TA, or the mailing list, be sure to email from an account to which we can directly reply.
Clarifications, changes, etc. regarding the class and assignments will be posted to the class web page class google group. Also check your email and website frequently.