Course Procedures - Craig Persiko's CS 110A class
Is CS 110A the right class for you?
- CS 110A is a broad introduction to fundamental concepts in computer science. Investigate how computers store and transmit information, how to solve problems with computers by designing and implementing algorithms using a programming language
(programming in Python), and how computing fits into larger social issues. It is a gentle introduction to computer science and programming for people who have never
programmed before. We will be using the Python programming language, but the concepts we cover are the same as in other programming languages.
- Our main focus in the programming part of the course will be to write programs with if-statements, loops, and functions/methods. After students complete CS 110A, they should be able to do something like this:
Write a complete function/method that takes in a single numeric parameter. If the number is positive, use a loop to print a "Hello world!" message that number of times. Otherwise, print a message such as: "Error: number must be positive!"
If you already can write a program like that, then you can skip CS 110A and take CS 110B, 111B, or 131B, depending on your choice of language. If you don't know how to do something like that, then CS 110A is the right class for you.
- CS 110A is not required for most certificates, degrees, or transfer, but it is
an important first step for those who have never programmed, before they take other programming courses.
- If you want to transfer and get a Bachelors Degree,
assist.org has official information about which courses transfer (articulate) between schools. For example, you can see there that SFSU wants CS majors to take CS 110A, and to know Java (as covered in our CS 111B and 111C courses).
Course Requirements
- I will be teaching 3 sections of CS 110A for Spring 2025. All of them are face-to-face at the Ocean Campus, full-term (January 13 - May 21):
- CRN 35439 Section 003: Mondays and Wednesdays 10:10 AM - 12:00 noon in Batmale Hall room 453 (Apple MacOS Computers available in the classroom for students)
- CRN 35438 Section 002: Mondays and Wednesdays 12:10 PM - 2:00 PM in Batmale Hall room 453 (Apple MacOS Computers available in the classroom for students)
- CRN 35437 Section 001: Tuesdays and Thursdays 11:10 AM - 1:00 PM in Batmale Hall room 453 (Apple MacOS Computers available in the classroom for students)
- My classes will NOT meet on Zoom - I encourage all my students to come to class, where we will work together on practice exercises on computers in the classroom. All course material will be available online, for students to read, watch videos, and complete the activities anytime, by the due dates each week.
- You will need to use a computer so you can do homework for this class. Only a web browser is needed, so a simple computer or Chromebook is fine, but a phone is not enough - you need a full-size screen and keyboard. (A tablet with an external keyboard can work, but a Chromebook or simple computer is better.)
You may be able to borrow a chromebook and/or get wifi from CCSF. There will also be computer labs available to you on campus.
- The textbook for this class is required for your grade, and it costs $50. It is interactive, so must be used online. The link will be available after you register for the course, but it is from ZyBooks. You may be able to get money for textbooks from the
AS Bookloan program, if you apply at the beginning of semester.
- Learning to write computer programs is a time consuming and sometimes
frustrating endeavor of open-ended problem-solving. I expect an
average student to spend about 12 hours per week on this class:
reading, watching videos, attending class, studying, working on programming
assignments and other class work. If you don't have the time or
dedication for such work, this class may not be for you. Make sure to keep up with the course materials and do all the assignments before they are due.
Everything in this class builds cumulatively, so if you get behind, it is very difficult to pass the class. I am available to help via office hours and email, plus there are discussions and lots of opportunities to practice in this class.
Major Student Learning Outcomes
Upon successful completion of this course a student will be able to:
- Articulate how a variety of types of information can be stored in and transmitted by a computer using the binary number system
- Write and predict the results of code using standard input and output and test and debug such programs
- Evaluate and design algorithms that use selection, repetition, and decomposition to solve quantitative problems
- Implement algorithms that feature conditionals, loops, and functions with parameters and return values using a programming language
- Defend possible positive actions that address issues related to the impact of computers in society
How to reach me:
Instructor Web Page: http://fog.ccsf.edu/~cpersiko
Email: cpersiko@ccsf.edu
Office: Batmale 468
(415) 239-3332
Office Hours (August 19 - December 12):
- Mondays from 2:00 – 3:00 pm in Batmale 453 classroom
- Thursdays from 10:00 – 11:00 am in Batmale 468 (my office)
- (plus other times by appointment on Zoom or in person - email me to make an appointment)
Online System for Course Material, Discussions, and Assignment Submission (Canvas):
For more information and to access Canvas, see:
https://ccsf.instructure.com/
Getting Help
Sharing ideas with each other is one of the best ways for you to
learn, so when you have a question or problem, ask your classmates for help.
You can email me anytime: please send me your entire program by email, and specify exactly what error
messages or output your program is producing, along with your question. I'm also available during my office hours listed above.
There is free tutoring available by advanced CCSF Computer Science students, via the
CS Tutor Squad.
Textbook (required for your grade):
The textbook for this class is required, and it costs $50. It is interactive, so must be used online. The link is available in Canvas, but it is from ZyBooks.
Attendance Policy
You are expected to participate in class every week and submit all assignments on time. I may drop you
from the class if you don't post or submit anything, nor come to class for over two weeks, without
explanation.
Course Prerequisite Advisories:
- Readiness for college-level English, or take ENGL 88 or ESL 188 before this course.
- Algebra: you need to be comfortable with order of operations, variables and functions from algebra. For example, you should know how to evaluate an expression like:
f(x) = 5 + 3 * x
when x=2, you should be able to calculate that f(2) = 11.
Grading Policy:
Your final score will be made up of the following components:
- 30% - Assignments (homework)
- 20% - zyBooks online textbook participation
- 5% - zyBooks challenges
- 10% - zyBooks Labs (programming exercises)
- 15% - Discussions in Canvas (includes some programming exercises)
- 10% - Midterm Project
- 10% - Final Examination on Python programming and related topics
Midterm and final grades will be assigned on the following
percentage scale:
90% - 100% A
80% - 89% B
70% - 79% C
60% - 69% D
0 - 59% F
Students who do not take the final exam will be assigned a grade of "FW". An "FW" is an "F" grade that also indicates that the student did not complete the course.
Programming Assignments (Homework):
The best way to learn how to program is to do it! Assignments will be given once a week, but you should
try to complete each assignment early, so you can ask questions and get help. You will each
encounter problems that require more time than you anticipate to fix
-- that's the nature of programming. So think of the assignments as due in the morning. Then you can ask
questions in office hours or via email on the due date if necessary.
Late submissions are accepted without penalties, but if you get behind in this course, it becomes very difficult
to understand what's going on. So it's important to submit assignments on-time.
I will employ student workers to grade assignments for this
class. If you have any questions or
concerns about this arrangement or a particular grading decision the
grader makes, please don't hesitate to tell me. I will be happy to review
grading decisions on request.
- First day of classes: Monday, August 19
- Last day to drop a class without having to pay anything for it (SF Residents have to pay for the course if dropped after this date): August 30
- Labor Day Weekend - campus closed August 31 - September 2
- Last day to add a class, also last day to drop a class without it appearing on transcript: September 6
- Flex Day (faculty professional development) - no classes: Tuesday, October 15
- Last day to drop a class: November 7
- Veterans Day - campus closed Monday November 11
- Thanksgiving Weekend - campus closed Thursday November 28 - Sunday December 1
- Last Regular Class: December 11
- Final Exam: Take in class sometime between December 16-20 (date to be announced). covering the Python programming topics from the whole semester.
- Last day late assignments will be accepted: December 20
- Final grades available on myRAM Portal starting January 8, on Canvas starting January 2 or sooner.
Cheating
Cheating of any kind will not be tolerated. It will result in a grade of 0 on the assignment or test in
question and can be cause for disciplinary action, including suspension or expulsion.
Cheating on assignments means copying code or answers from another source - that includes copying code from a web site,
or submitting work written by someone else (including AI). Getting help from other sources is not cheating as long as
you're not copying their work or allowing them to copy yours. All code and work that you submit must be written by you. On the
exams, any collaboration or copying constitutes cheating.
Software and Computer Access
All your coursework and programming for this class can be done using free resources on the internet:
Use of CCSF computers, including remote access, is regulated by the
CCSF Computer Usage Policy.
Do not give passwords and other sensitive information to unauthorized persons.
This means you shouldn't tell anyone
your personal passwords and you shouldn't give class account passwords
to people who aren't in this class.
Drop Procedures
Generally it is your responsibility to drop or withdraw from a class
by the final deadlines given in your
course schedule. Do not ask me to drop you; use the myRAM system, or
contact the Office of Admissions and Records to be
withdrawn from a class. If you don't submit any assignments or post in any discussions, nor come to class for 2 weeks without explanation, I may drop you
from the class. If your name is on the roll at the end of the
semester and you don't take the final exam, you will be assigned a final grade of FW. I will not give a
late or retroactive drop or withdrawal.
Disability Accomodations
Students with disabilities who need accommodations are encouraged to contact me. Disabled Students Programs and Services (DSPS) is available to facilitate the reasonable accommodation process.
The DSPS office is located in the Rosenberg Library, Room 323 and can be reached at (415)452-5481 or http://www.ccsf.edu/dsps
Equity, Diversity, Inclusion, and Anti-Discrimination
The CCSF CS Department is committed to promoting equity, diversity, and inclusion in the field of computer science. We strive to make computer science accessible and exciting to all, particularly those who are often excluded from or face frequent identity discrimination in the field. If you have a suggestion for how we can better support you and/or your classmates, please reach out to any CS instructor or to the Department Chair. We will make sure your voice is heard.
For more information and resources outside of our department, please visit
CCSF’s Office of Student Equity.
The San Francisco Community College District is committed to the principles of equal opportunity, and the prevention of discrimination and harassment in any program or activity of the District on the basis of race, color, ancestry, national origin, ethnic group identification, religion, age, gender, gender identity, marital status, domestic partner status, sexual orientation, disability or AIDS/HIV status, medical conditions, or status as Vietnam-era veteran, or on the basis of these perceived characteristics, or based on association with a person or group with one or more of these actual or perceived characteristics.
If you believe you have been subject to discrimination, please contact Mildred Otis, Title 5/EEO/ADA/Title IX Compliance Officer, at motis@ccsf.edu
Go to the CS 110A class homepage