ISDA 20B-10
Python Programming
Fall 2021 Syllabus

Steve Perry

Office Hours: Virtual office hours. Telephone and in-person advising by appointment

Syllabus Links
Canvas Login and Tutorials
iSchool eBookstore

Canvas Information: Courses will be available beginning August 19, 2021, at 6 am PT unless you are taking an intensive or a one-unit or two-unit class that starts on a different day. In that case, the class will open on the first day that the class meets.

This 2-unit course runs from August 23rd - October 18th. It will be available on Canvas on August 23rd 

You will be enrolled in the Canvas site automatically.

Course Description

This course is an introduction to using Python to program computer applications. We will be reading from the required text and doing programming exercises. The assignments will be problems that you will solve by coding Python programs that exercise the concepts learned to date. You will learn the fundamentals of Python coding statements, how to define and use functions, how to work with data types and lists, use file I/O, and create and maintain a Python dictionary.

Course Requirements

Important Dates
BSISDA: Isda20B-10 - Python- Syllabus

Semester: Fall 2021 (2021-08-23 through 2021-10-18)

NOTE:  This is a 2-unit class and all work is covered in less than a full semester.

Attendance Requirements
You must actively use the class Web site at least once per each week to considered in attendance that week. The activities that show attendance are: logging into to this site, clicking on a link to read a lesson/assignment, or submitting an assignment.

Participation Requirements
Participation is required in the class Discussion Area and will count as 10% (10 points) of your grade.

Assignment Due Dates
The due dates for all assignments are listed in the Modules area with each assignment and in the Grading area.

There is a 4-day grace period on all assignments! This means you can turn in an assignment up to 4 days past the due date with no penalty. (As long as it is not past the last day of the semester.)

Assignments are not available for submission after 4 days past their due date.

If you contact me before the grace period is passed, I may extend an assignment due date for you, if need be. The important thing is to contact me BEFORE time runs out!

ANOTHER NOTE: It is wise to aim to submit the assignment by the actual posted due date. That way, if you need extra help from me, you have the time to get it.




Due Date

Points Possible

Python Basics




Core Language - Part 1




Core Language - Part 2




Core Language - Part 3




Core Language - Part 4




Core Language - Part 5




Core Language - Part 6




Core Language - Part 7








Final Exam









Python Basics

Assignment 1

Assignment supports CLO #1

Core Language - Part 1

Assignment 2

Assignment supports CLO #1

Core Language - Part 2

Assignment 3

Assignment supports CLO #2

Core Language - Part 3

Assignment 4

Assignment supports CLO #3

Core Language - Part 4

Assignment 5

Assignment supports CLO #4

Core Language - Part 5

Assignment 6

Assignment supports CLO #1

Core Language - Part 6

Assignment 7

Assignment supports CLO #5

Core Language - Part 7

Assignment 8

Assignment supports CLO #5

Required Reading

It is necessary to read all of the Web pages that I have posted in each Lesson and Assignments and view all of the video presentations posted as well the required test (see below).

Course Workload Expectations

Success in this course is based on the expectation that students will spend, for each unit of credit, a minimum of forty-five hours over the length of the course (normally 3 hours per unit per week with 1 of the hours used for lecture) for instruction or preparation/studying or course related activities including but not limited to internships, labs, clinical practica. Other course structures will have equivalent workload expectations as described in the syllabus.

Instructional time may include but is not limited to:
Working on posted modules or lessons prepared by the instructor; discussion forum interactions with the instructor and/or other students; making presentations and getting feedback from the instructor; attending office hours or other synchronous sessions with the instructor.

Student time outside of class:
In any seven-day period, a student is expected to be academically engaged through submitting an academic assignment; taking an exam or an interactive tutorial, or computer-assisted instruction; building websites, blogs, databases, social media presentations; attending a study group;contributing to an academic online discussion; writing papers; reading articles; conducting research; engaging in small group work.

Course Prerequisites

ISDA 20B has no prequisite requirements.

Course Learning Outcomes

Upon successful completion of the course, students will be able to:

  1. Understand and explain the fundamentals of the Python programming language and associated development tools (IDEs, pip).
  2. Understand and explain the logic behind programming using flowcharts and algorithms.
  3. Demonstrate the use of various Python data structures and read and write files in Python.
  4. Solve problems using Object-Oriented design in Python, including polymorphism.
  5. Define and use functions and modules.
  6. Demonstrate the use of file I/O.
  7. Test programs and develop documentation.

    SLOs & PLOs

  1. ISDA 20B has no SLOs or PLOs.


No Textbooks For This Course.

Grading Scale

The standard SJSU School of Information Grading Scale is utilized for all iSchool courses:

97 to 100 A
94 to 96 A minus
91 to 93 B plus
88 to 90 B
85 to 87 B minus
82 to 84 C plus
79 to 81 C
76 to 78 C minus
73 to 75 D plus
70 to 72 D
67 to 69 D minus
Below 67 F


In order to provide consistent guidelines for assessment for graduate level work in the School, these terms are applied to letter grades:

  • C represents Adequate work; a grade of "C" counts for credit for the course;
  • B represents Good work; a grade of "B" clearly meets the standards for graduate level work or undergraduate (for BS-ISDA);
    For core courses in the MLIS program (not MARA, Informatics, BS-ISDA) — INFO 200, INFO 202, INFO 204 — the iSchool requires that students earn a B in the course. If the grade is less than B (B- or lower) after the first attempt you will be placed on administrative probation. You must repeat the class if you wish to stay in the program. If - on the second attempt - you do not pass the class with a grade of B or better (not B- but B) you will be disqualified.
  • A represents Exceptional work; a grade of "A" will be assigned for outstanding work only.

Graduate Students are advised that it is their responsibility to maintain a 3.0 Grade Point Average (GPA). Undergraduates must maintain a 2.0 Grade Point Average (GPA).

University Policies

Per University Policy S16-9, university-wide policy information relevant to all courses, such as academic integrity, accommodations, etc. will be available on Office of Graduate and Undergraduate Programs' Syllabus Information web page at: Make sure to visit this page, review and be familiar with these university policies and resources.

In order to request an accommodation in a class please contact the Accessible Education Center and register via the MyAEC portal.

icon showing link leads to the PDF file viewer known as Acrobat Reader Download Adobe Acrobat Reader to access PDF files.

More accessibility resources.