CIS 680MC is a four-unit online Python course that is given during the Summer session. There are no face-to-face meetings for this class. Please read this syllabus carefully before registering for this course.
CIS 680 Internet Programming: Python (4) (Pass/No Pass or letter grade option.) A comprehensive course in Python, an open-source dynamic object-oriented scripting language. Covers variables, arrays, lists, tuples, dictionaries, functions, methods, classes, objects, and writing server-side Python scripts for the Web. Also covered are exception handling, regular expressions, and modules. An introduction to SQL and the MySQL database, and advanced topics such as Model-View-Controller architecture and Web application development with the Django framework. (CSU). Prerequisite: CIS 254 or equivalent; recommended: eligibility for ENGL 838/848.
At this time, there are no prerequisites for CIS 680MC. However, if you do not already have CIS 254 exit skills, you will not do well in this class. This course is not a beginning programming course. You should be able to:
In this course we will be using Python as a Web programming language. You should be familiar with HTML, or be willing to become familiar with it during the course.
Upon successful completion of the course, you will be able to:
The Quick Python Book, 2nd Edition
Daryl Harms and Kenneth M. McDonald, and Vernon Ceder
Manning Publications
ISBN: 9781935182207
[Do not use the first edition of this book—it’s seriously out of date (1999).]
This book is available as a free HTML Version.
If would like to support this author, you can purchase a copy of Learn Python the Hard Way.
All of the O’Reilly Python books are worth owning, and there are many free Python books that you can add to your Python library.
Each student is assigned a shell account on a CSM Linux server. Though you can create your Python scripts on any computer, they must run on your CSM Linux account. Your CSM shell account is for your CIS 680 course work only. All students are expected to adhere to CSM's Student Code of Ethics.
This is a 4-unit course given over an 8-week Summer session.
Success in this course depends on your time management skills and self-discipline. Be
prepared to devote substantial time each week to doing reading and
coding. Plan on spending several focused hours each day to read,
study, and code Python. In a normal 15 week semester it is customary to
recommend 3 hours of study per week for each course unit. That would
amount to 12hrs/week. Since this course is accelerated and compressed
into 8 weeks, you will have to adjust your study time accordingly.
Forum participation 3% Labs 55% Weekly Quizzes 32% Final Exam 10%
90..100 A
80..89 B
70..79 C
50..69 D
below 50 F
Forum participation is important in online courses. In this course, 3% of your grade will be based on your contributions to the class forums. Class participation means making or replying to at least 4 different forum posts during the class, not counting introductions. (3% of final grade)
The bulk of the homework assignments (labs) consists of weekly assignments based on the core exercises and reading. (55% of final grade)
Late assignments are graded down 25%. Assignments more than a week late receive a grade of zero.
The weekly quizzes (Sanity Checks) are short quizzes intended to give an indication whether you are keeping up with the coursework. (32% of final grade)
The final exam will be given in the last week of the course. (10% of final grade)
Since there are no face to face meetings for this course, we will communicate through the class website forums. When you have a question about the course work, whether it be the something in the textbook, the labs, or other course-related topics, post it to the class discussion forums where everyone can see the question and answers. If you have a personal question regarding your grade or other personal matters, please send it to my SMCCD email address. I will monitor the forums Monday through Friday.
Before you submit your questions, make sure that your question has not already been asked in the forums. When do post to the forums, take the time to re-read your questions or answers before actually posting them. As usual, offensive language or other breaches of CSM Computer Policy are not acceptable.
I am hoping that as you become comfortable with the online only format, you will ask questions and contribute to discussions more than you might in a classroom environment. However, please remember the limitations of online communication. If you like to talk a lot, please do not talk too often or too long before giving others a chance to respond. If you are a quieter person, please take a chance and ask or answer some questions.
The table below shows a weekly goal chart for the semester—keep in mind that this schedule is an approximation and may change as the semester progresses.
| Week |
Topics |
Reading Quick Python Book |
Quizzes/Coding |
|---|---|---|---|
| 1 |
History of Python Install Python3 Editor and Terminal Overview Sanity Check Quiz |
1 Starting out 2 Installing Python 3 Quick Overview 4 The Absolute Basics |
Lab 1 Sanity Check |
| 2 |
Data types variables operators precedence Scope |
5 Lists, Tuples, Sets 6 Strings |
Lab 2 Sanity Check |
| 3 |
Control Flow Functions |
7 Dictionaries 8 Control Flow 9 Functions |
Lab 3 Sanity Check |
| 4 |
Modules and Scoping; Python
programs Packages Using Python Libraries |
10 Modules and Scoping 11 Python Programs 18 Packages 21 Using Python Libraries |
Lab 4 Sanity Check |
| 5 |
File System | 12 Using the Filesystem 13 Reading and writng files |
Lab 5 Sanity Check |
| 6 |
Object-Oriented Programming Testing Code |
14 Exceptions; 15 Object-Oriented Programming 21 Testing Code |
Lab 6 Sanity Check |
| 7 |
Regular expressions SQLite and MySQL MongoDB Python 2 |
17 Regular Expressions 18 Packages |
Lab 7 Sanity Check |
| 8 |
Django Google AppEngine web.py |
24 Network, web, and database
programming |
Lab 8 Final Exam |