Course Procedures - Craig Persiko's CS 10 class
Is CS 10 the right class for you?
- CS 10 replaces CS 110A. It 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 (intro to programming), 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 10, 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 10 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 10 is the right class for you.
- CS 10 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 know Java (as covered in our CS 111B and 111C courses).
Course Requirements
- I will be teaching 3 sections of CS 10 for Spring 2023. All of them are face-to-face at the Ocean Campus, full-term (January 17 - May 24):
- CRN 34864 Section 003: Mondays and Wednesdays 11:10 AM - 1:00 PM in Cloud Hall room 115 (Windows computers available in the classroom for students)
- CRN 34862 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)
- CRN 34863 Section 002: Tuesdays and Thursdays 1:10 PM - 3: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.
- Proof of vaccination against Covid-19 is required, via this link, before you can register in face-to-face classes.
- You will need to use a computer (or tablet with external keyboard) 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, so you can do homework.
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 $40. It is interactive, so must be used online. The link will be available after you register for the course, but it is from ZyBooks.
- 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 a computer using the binary number system
- Explain how information can be transmitted as binary numbers between computers via computer networks
- Evaluate and design algorithms that use selection, repetition, and decomposition to solve quantitative problems
- Implement algorithms that feature conditionals, loops, and functions 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 (January 17 – May 16):
- Mondays and Wednesdays from 10:30 – 11:00 am in Cloud 115
- Tuesdays and Thursdays from 10:30 – 11:00 am in Batmale 453
- (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 $40. 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: Tuesday, January 17
- 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): January 27
- Last day to add a class, also last day to drop a class without it appearing on transcript: February 3
- Presidents' Day Weekend - campus closed February 17-20
- Flex Day (faculty professional development) - no classes: Tuesday, March 7
- Spring Break - no classes, college closed: March 25-31
- Last day to drop a class: April 20
- Last Regular Class: May 16
- Final Exam: Take online sometime between May 17-24 or in class by appointment.
- Last day late assignments will be accepted: May 24
- Final grades available on myRAM starting June 9, on Canvas starting June 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. 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 14 days 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
Student Essentials and Support at CCSF
Click here for the Student Essentials and Support Guide.
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 10 class homepage