Sunday, April 26, 2026

syllabus

Simple State University
2026 Spring C S 003A 03W
  • OBJECT-ORIENTED PROGRAMMING METHODOLOGIES IN PYTHON

  • C S 003A 03W

  • online

    • Meet Your Instructor Email: reederic@fhda.edu That's me! I am Eric Reed, and you can email me at reederic@foothill.edu. It's easiest for me if you ask questions through the private or public message center here in the course, and only use email if you have trouble logging in. I get a huge amount of email and there's a chance that a time critical question will get lost if you email me.
    • I teach both math and computer science. I hold an M.S. in math from CSU East Bay and an M.S. in computer science from Georgia Tech. Feel free to ask me about either one! What you really need to know is that I am glad you are here, and my goal is your success in this course.
    • Instructor Contact Info Eric Reed
    • Instructor Contact Info

      Eric Reed
      Email: reederic@fhda.edu
      Office Hours: On Campus: Wednesdays 12:30pm-1:30pm in the Tutorial Center, 3600 Building (Except 4/22. Hours on 4/29 will be 12pm-1pm).. Online: Thursdays and Fridays 3pm-4pm (except 4/10, 5/21, 6/12). Please see the Office Hours tab for Zoom instructions and some exceptions.
      Phone: 650-949-7091

      Do not attach python code when emailing using my college email address, it will not reach me.  Use canvas inbox if you need to send an attachment.

      Course Overview

      CS 3A is an introduction to object oriented using the Python language. It is not designed to be a first programming course, and will be fairly fast-paced for those who have not coded before. Absolute beginners may wish to start with CS 49, Foundations of Computer Programming. Please check with a counselor.

      Students already familiar with Python or other programming languages will learn how to write object oriented Python programs that cover a wide range of applications. Regardless of your previous experience, for success you will need both a desire to learn and a positive attitude.

      Python is in high demand right now because of its use in data analysis, machine learning, and artificial intelligence - and those are seriously hot topics. You can code up some models pretty easily, and then use some of the extensions to make your code run super fast. But Python goes beyond that - about half of all Python developers use it for web backends, including sites like YouTube and Netfilx.

      Final Exam Details:

      Our class will have a final project that will be the capstone of this quarter's work. There are no midterms or final exams.

      College Term Dates

      These dates may impact financial aid, refunds, and/or transcript grades. Please contact Financial Aid or Counseling if you have questions.

      Course Start & End Dates: 06-APR-26 - 26-JUN-26
      Last Day for Drops with Refund: 19-APR-26
      Last Day for Drops without "W": 19-APR-26
      Last Day for Drops: 29-MAY-26

      Required Materials

      No Required Materials

      Recommended Materials

      The following materials are recommended but not required:

      The "Official" Python Programming Tutorial

      https://docs.python.org/3/tutorial/

      How to Think Like a Computer Scientist

      https://runestone.academy/runestone/books/published/thinkcspy/index.html

      Grades

      Deliverables

      Your grades are based on ten programming lab assignments (150 points, assignment two has three parts), one quiz (7 points), a final activity (15 points), and participation (15 points). You have a two-day automatic grace period beyond the due date to turn in assignments...this is in case you get sick, your car breaks down, your laptop fails, a tutor isn't available, etc. 

      In general you should turn your work in by the original due date. Solutions are automatically released immediately after the grace period, so I cannot accept any work later than that. 

      To earn full participation points, you must provide meaningful contribution to the discussions at least once during each of the following periods (Sunday through Saturday, Week 1-4, Week 5-8 Week 9-12. This may be asking a "good" question, providing a helpful, non-duplicating answer to another student, posting a bug report, or just bringing in some relevant information from outside the class. Your introduction can serve as the participation grade for weeks 1-4 (what's your name, why are you here, what coding experience do you have, etc).

      Grading Scale


      Letter GradeRange
      A+100%to 98.9%
      A< 98.9%to 94%
      A-< 94%to 90%
      B+< 90%to 87%
      B< 87%to 84%
      B-< 84%to 77%
      C+< 77%to 74%
      C< 74%to 67%
      D< 67%to 60%
      F< 60%to 0%
      Grading Scale

       

      Course Assignments

      Each lab assignment has its own rubric. Every assignment, though, has the following basic requirements:

      • You must fix any issues that were identified in prior assignments.
      • You must include a docstring for your methods and functions.
      • You must follow the PEP-8 style guidelines
      • Your code should be simple and elegant
      • You must include a sample run that is exactly what is output by the program you submit

      Most of our lab assignments will be submitted on GitHub.  

      Course Agreements

      My Commitment to Evaluating Your Work

      I will provide feedback within five days after the grace period closes, usually much earlier.  You will see a grade at that time, but I will not post grades in the canvas gradebook right away. I want to you focus on the comments more than the numerical score.  You can put your grades in the grade book using the Canvas "what-if" feature.

      lf you struggled with an assignment, please take a look at the instructor solution. Be sure to ask questions on the forums about anything you do not understand. It is okay to copy my code from solutions you see in this canvas site so that you can move forward with the next assignment.

      No Ghosting!

      For a complete reference of all withdrawal dates and deadlines refer to the Foothill College registration page at the college web site.

      To remain in the class beyond the first two weeks you must:

      • Write an introduction post
      • Complete the academic integrity quiz with 100%
      • Submit assignment 1 and mini-assignments 2a and 2b by the grace period deadline for each assignment

      If you do not complete these, it is an indication that this is not the right quarter for you to take this class. I will likely drop you from the course. If you intend to drop the course you must do so yourself. 

      To remain in the class after that you must:

      • Log in to the course at least once every seven days
      • Keep up with the gradable activities

      If you miss two gradable activities in a row, I may drop you from the course. Again, if you intend to drop the course you must do so yourself. 

      Sharing is caring? Not always...

      I strongly encourage you to help each other - on the discussion board, in the Tutorial Center, through Zoom, wherever you happen to be. You can do flow charts together and strategize how you might logically complete the assignment. However - all the CODE you submit MUST be 100% your own. Therefore, never share any code from your assignments with anyone else. MANY MANY MANY times I have heard a student upset because someone else used their code in a computer science class and both students got a zero. The assignment must be 100% your own work.

      Please familiarize yourself with Foothill's Academic Integrity Policy.Links to an external site.

      For those of you wishing to give help, please do not give away the answer. Either tell the person where they can look to find the solution, give them a general idea or ask them to ask me. Don't post actual assignment code.

      You must completely avoid sites like Chegg or CourseHero. If you post assignments there or use code from those sites, you will almost certainly receive a zero for the assignment, and a referral to the dean.

      StackExchange is a legitimate place to ask small questions about how a particular function works (or why it's not working the way you think it should). Be very careful, though, not to post assignments or copy code even from StackExchange.

      Artificial Intelligence

      Tools like ChatGPT can have a useful place in your journey, but you must not start out by asking ChatGPT to code your assignment.  One thing I like to do is to ask ChatGPT to "make my code more pythonic", but only after I have working code.  We are learning the fundamentals here...one reason is to be able to validate that tools like ChatGPT have done a good job, or to alter what these tools produce.  We can't do that if we don't know the fundamentals of coding. Please consider that nobody is going to give you a job, long term, if you do not offer any added value over typing prompts into a chatbot.

      At some point in the course I may ask you to join me on Zoom or in person to explain your code. I will share my video and I will ask you to do so also. In this case I may place a zero as your grade until we are able to talk.  If we cannot arrange a time to meet or if you cannot explain how your code works and your process of developing your code, the zero will become permanent.

      All of the material on this site is written by me, and I reserve all rights. You do not have permission to post my assignments or code.


      College Agreements

      The Foothill College Mission 

      Embracing inclusivity and building strong communities, Foothill College serves diverse learners and equips its students with critical thinking skills to address complex societal challenges, to thrive in the global workforce, and to engage in a life of inquiry.

      To support our mission, we offer the following: 

      Academic Integrity Agreement

      As a student at Foothill College, you will join a community of scholars—including faculty, staff, and students—who are committed to integrity in the teaching and learning process. We value integrity as a core component of our reputation, which we build together. 

      Your work at Foothill contributes to your own academic reputation—a reputation you’ll take with you into your career. 

      To build and maintain your individual and our collective reputation, all Foothill community members (including faculty, staff, students and administrators) are asked to be attentive to upholding the highest academic integrity standards, and to actively avoiding challenges to academic integrity, including cheating and plagiarism. These are defined as: 

      • Cheating is the act of obtaining, or attempting to obtain, credit for academic work using dishonest, deceptive, or fraudulent means. 
      • Plagiarism is representing someone else’s work as your own and submitting it for any purpose or re-using work from one class for another without the express permission of both instructors. 

      Academic and/or administrative consequences may be applied for violating our shared values of academic integrity. For more information, please see The Academic Integrity Preface of the Student Handbook 

      The Foothill College Academic Integrity Pledge 

      Here’s something you may see in your classes or around campus—our college’s pledge to uphold academic integrity: 

      I pledge to support the mission of Foothill College and to demonstrate its core values by upholding academic integrity in all my activities associated with the college. 

      Accessibility Pledge 

      This course is intended for all Foothill students, regardless of mental, physical, or cognitive ability, illness, injuries, impairments, or any other condition that may impact one’s equal access to education. 

      I've made every effort to ensure this course is accessible. If you find material or resources that are not accessible, please let me know right away. 

      If you need accommodations, I'm happy to work with you and with our Disability Resource Center (DRC). I encourage you to contact the DRC as early as possible to arrange for a customized accommodation plan. 

      Academic Support 

      To access the many services Foothill offers to support your mental, physical, and financial health, select the "Student Support Portal" in the Global Navigation Menu in Canvas. 

      If you need tutoring for the course, visit Foothill's Writing and Language Center (WLC) in the 3600 building (behind the Library), and for help with math and science, visit the STEM Center (Room 4213). 

      Basic Needs 

      Many Foothill students are facing challenges to their housing and/or food—if you are one, you are not alone! If you need help securing food or housing, please reach out to our Program Coordinator, Sonia Sánchez (sanchezsantoyosonia@fhda.edu or call (650) 949-7618. You may also visit the center in Bldg. 2100, Room 2152. 

      A housing representative from the Bill Wilson Center is on campus at the Owls Nest every Wednesday from 11am - 3pm. If that timeframe doesn't work for you, please reach out to Sonia Sánchez at the email or phone number above.

      Title IX 

      Title IX is a federal law that ensures safety and well-being for everyone regardless of sex or gender identity. Foothill College is committed to creating and sustaining an educational and work environment free of: 

      • sex discrimination 

      • sexual harassment 

      • sexual violence 

      • domestic violence 

      • dating and acquaintance violence and stalking 

      The safety and well-being of the campus community is a priority for Foothill College. See our Title IX web page for more information. 

      Foothill College has developed standards of conduct for students and employees to promote equality and mutual respect among all groups and individuals. It is your responsibility to know the community standards and understand the consequences for violating these standards. For more information, please read the Academic Policies in the Academic Catalog.


      College Support for Students

      The first place to look for help is the Student Support Portal. 

      Student Support Services

      • Counseling: Whether you are looking for academic, career, or personal counseling, we can support you!
      • Tutoring: If you need help in a class, you are not alone! We offer tutoring programs to help you succeed with your academic goals.
      • Financial Aid: If you need help paying for your college education or vocational training, we can help you.
      • Disability Resource Center (DRC): If your learning is being impacted by cognitive or physical differences, mental or physical health, or if you require an accommodation, please contact the DRC to arrange a confidential discussion regarding equitable access and reasonable accommodations. Call the DRC at 650.949.7017 or email the DRC.
      • EOPS: We have support services and programs for financially and educationally disadvantaged students.
      • DREAMERS: We are committed to supporting and empowering all students. We stand fiercely in support of our undocumented community and are proud to offer resources and services for all.
      • Veteran's Services: We have dedicated counselors and staff who understand military culture and transitioning to education and can help you pursue your educational goals. 
      • Office of Retention Services: Whether it's help getting connected to services, academic coaching, or to provide encouragement, please know the Retention Services team is here to help. 
      • Foothill Connect: If you’re looking for help connecting to services, academic coaching, or just some extra support, the Foothill Connect Team is here for you. You can reach out directly via email or use the 'Raise Your Hand' option in Foothill Connect, available in MyPortal.

      Health & Wellness

      • Health Services provides free or low-cost confidential health services.
      • Mental Health & Wellness Center helps students cope with difficult emotions and life stressors. The Center is staffed by experienced, professional psychologists and counselors, who are attuned to the needs of college students. The services are free and completely confidential. Sessions can be provided for problems big or small.
      • Uwill (To Be Honest): Uwill is your go-to resource for 24/7/365 mental health and basic needs support. The platform allows you to easily schedule virtual counseling appointments on demand, providing you with access to professional support anytime and anywhere. In addition to mental health services, Uwill can connect you with benefit specialists ready to assist with issues such as food and housing insecurity, financial concerns, and more. The service is completely free for Foothill students. Sign up today!

      • Flourish is a free 24/7 wellness app to help you proactively manage stress, build healthy habits, and support your mental health. It offers quick mindfulness exercises, tools for handling procrastination and overthinking, science-backed insights, and a private AI chat for support anytime.
      • The Hearthside Wellness Lounge (Room 2313) provides a peaceful retreat designed to support your mental health and wellbeing. The lounge offers massage chairs, wellness resources, quiet spaces for studying, and a friendly staff ready to guide you to the right support.
      • Food Pantry offers access to a selection of nutritional groceries at no charge. 
      • Housing Insecurity and Homeless Students Program will help if you are in need of housing.

      Communities & Activities

      • Umoja Community: Umoja, a Kiswahili word meaning unity, is a year-long learning community and critical resource at Foothill College dedicated to enhancing the cultural and educational experiences of African American and other students.
      • Puente Project: Puente, the Spanish word for Bridge, is a national award-winning student leadership program that provides a structured pathway for transfer to the UCs and CSUs while engaging participants in community service.
      • Student Affairs & Activities: We provide a caring, inclusive environment for students to get involved and get assistance and support in understanding your student rights.

      Students with Dependent Children 

      California has enacted a new law to support college students who are also parenting! Foothill College provides priority registration for student parents (contact Admissions & Records) and provides basic support resources (contact Sonia Sanchez at (650) 949-7618 or sanchezsonia@fhda.edu). For more information, please visit our Students with Dependent Children information page. 

      Owls Nest Community Resource Center 

      Foothill College offers its students incredible support services through the Owls Nest Community Resource Center. The team is committed to taking a holistic approach to help students succeed while addressing any challenges they may be experiencing to meet their basic needs such as food, housing, mental health, etc. On-campus and off-campus resources are often provided to students to help meet their short-term and long-term needs with the goal of improving the outcomes of academic and personal success. 

      To learn more about the services offered at Owls Nest, please visit the Owls Nest webpage and/or contact Sonia Sánchez at (650) 949-7618, sanchezsantoyosonia@fhda.edu. 

      Technology Support for Students

      Course Summary Alert

      IMPORTANT: The Course Summary below is a chronological list of assignments to help you keep track of due dates. 

      Lectures are not included in this list. Please access the course materials through Modules.

      Where to Get Help

      Public Forums

      Questions and comments should be posted to the Discussions Tool which you can reach by clicking on Discussions on the left menu. Unless a question is of a private nature (i.e. grades, registration issues), please use the public Discussions. Also, please answer your fellow students' questions even if you only have a guess as to what the answer is. It's great to engage in conversation with each other in this manner. I monitor these discussions every day, and I will jump in if a question goes unanswered or if I feel like the thread needs some help.

      You must post an introduction by Wednesday of the first week of class or you may be dropped as a "no show" according to the college requirements. Use the "First Week Introductions" discussion in this Module. In following weeks you can file bug reports, share interesting sites or articles you found, or ask and answer questions about the labs. 

      One thing though - Do Not Post Homework Code

      Whether you have a question or suggested answer, never post homework code to forums. Instead you can create a separate small program to demonstrate the issue that you are facing.

      Private Messages

      Please use public discussions for any question or comment that involves understanding the modules, tests or assignments. If you have a confidential question (like grades or registration) use the Message Tool by first clicking on Inbox at the far left, then selecting this course and your intended recipient (usually me).

      Posting Program Code

      You can post code to the public discussions that is not directly from your assignment. If you have an assignment question, translate that into a piece of code that does not reveal your answer or submission, exactly.

      Tutorial Center

      Tutoring is available online and in-person!  Just navigate to foothill.edu/tutoring or click the "Foothill Tutoring" item on the left side of this Canvas page to see all the tutoring options. If you would like to visit in-person, come to the 3600 building (note that STEM tutoring and other tutoring are now all in the same building). Many of the tutors are Foothill instructors. These experts are qualified to help you with assignments or modules without giving you an answer that will short-circuit your discovery process. Let them know that you are not to receive actual assignment solution code or even fragments. They probably know this already, but it's your responsibility to avoid submitting something that was written by a tutor or another person.

      Course Summary

      Due DateNameEvent TypePoints
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      Discussion
      0
      4/8/26
      Assignment
      15
      4/8/26
      Quiz
      7
      4/8/26
      Discussion
      5
      4/14/26
      Assignment
      1
      4/16/26
      Assignment
      1
      4/22/26
      Assignment
      13
      4/29/26
      Assignment
      15
      5/6/26
      Assignment
      15
      5/13/26
      Assignment
      15
      5/20/26
      Assignment
      15
      5/27/26
      Assignment
      15
      5/30/26
      Assignment
      5
      6/3/26
      Assignment
      15
      6/10/26
      Assignment
      15
      6/17/26
      Assignment
      15
      6/24/26
      Assignment
      15
      6/26/26
      Assignment
      5












No comments:

Post a Comment

Syntax Errors-English.txt

  There are three broad types of errors that you will encounter as a computer programmer and today we'll talk about the syntax error. Sy...