Course Syllabus
Object-Oriented Programming Methodologies in Java, CS1A
Class Meetings
Room: FH 5613 on the Los Altos Hills campus
Times: Mondays & Wednesdays 10AM to 11:50AM
Course Description
Systematic introduction to fundamental concepts of computer science through the study of the Java programming language. Coding topics include Java control structures, classes, methods, arrays, graphical user interfaces and elementary data structures. Concept topics include algorithms, recursion, data abstraction, problem solving strategies, code style, documentation, debugging techniques and testing.
Required Materials
Textbook:
Java: Learning to Program with Robots
Author: Byron Weber Becker
Publisher: Course Technology; 1st edition (February 16, 2006)
ISBN: 0619217243
Note: This book is now out of print, and the author has generously decided to put the entire book online, for free. It is also available from this course's Canvas website at wholething.pdf except for Appendix F which is available at LayOfTheLand.pdf. You should also check the Textbook Errata page (the list of errors discovered after printing and shown with corrections).
Computer
You will need to use a desktop or laptop computer that has Internet access (a tablet or mobile device will not likely be sufficient). You will need a Chrome or Chromium Web browser along with a connected or built-in camera for taking the remote proctored quizzes (cameras are sometimes built into modern laptops).
For working with students online or meeting with me during online office hours, it is also best if you have headphones and a microphone (microphones are sometimes built into modern laptops).
Computers that meet these requirements are available in labs on Foothill's campus, such as the Macs in the library and certain computers in the STEM Success Center. Refurbished computers are available for FREE for Foothill and De Anza students! See: https://deanza.edu/oti/computer_scholar.html
Removable media for backup of your work or files:
USB thumb drive, or a portable external hard drive, to use in class connected to the provided laptops (unless you are using your own laptop, but you are still responsible for backing up your work).
Optional Materials
-
Personal laptops or notebooks
-
If you plan to do coursework at home or work you will need a computer and Internet access.
Class Info
Instructor: Dr. Baba Kofi Weusijana
Pronounced: Bah-bah Co-fee Way-ou-see-jah-nah
Please call him "Dr. Weusijana" or "Baba"
Communication
Office Hours: 12PM-1PM PST Wednesdays and 9AM-9:45AM PST Mondays, Tuesdays, Wednesdays, and Thursdays. All of those office hours are held both online at https://cccconfer.zoom.us/j/6253358419 and in room FH 4131 on the Los Altos Hills campus.
I can also meet students by appointment via ConferZoom(even at night or over the weekend) or in room FH 4131(during business hours), so contact me for an appointment.
Contact Info:
The best way to contact me (and your fellow students) is by using the integrated Pronto tool. I reply to such messages within 1 business day. You can also contact me through Canvas by adding a comment while submitting to the relevant assignment (you can submit partial work, with comments, as early and as often as you like to Canvas assignments). If you use the Canvas Inbox, or e-mail, I might miss your message and might not have the proper context for it. I might take 2 business days to respond to Canvas Inbox and e-mail messages. You can forward text messages to my email.
To contact me anonymously use this Google Doc form:
https://docs.google.com/forms/d/e/1FAIpQLSeZxuiGdPsFW8OJ1lbRYNympTAKq26a347ttjnBqPSQKO9GyQ/viewform
Announcements & Course Backup Plan:
Each week, usually on Mondays, I will make an announcement to this class via Pronto, so keep an eye out for those.
Each day please log into this course's Canvas website and also check Pronto and the email account you gave registration. That way you will be able to get any announcements from me, including instructions for how this course will continue in the event of an emergency or campus closure.
Course Discussions:
Students are required to utilize the Pronto tool that is integrated with Canvas (and can be installed on mobile devices) to provide a way for students to communicate with each other and with me. You are required to make at least 4 posts (of any length) in Pronto before day 9 of week 5 and another 4 posts after that. Please see the Get Setup with Pronto page in the Introduction Module and later the rubrics for the Pronto Contributions Before Day 9 and Pronto Contributions After Day 9 assignments for more information. I will organize Pronto discussion groups around the larger assignments that will include students from other sections of CS1A working on the same large assignments.
Course Backup Plan:
In the event of a campus closure, instruction for this class will continue in the following way:
please log into this course's Canvas website for announcements and instructions and also check the email account you gave registration.
Assessment & Grading:
To Obtain Disability-Related Accommodations:
Please contact Disability Resource Center (DRC) at the start of the quarter or as soon as you become disabled because DRC accommodations are not retroactive. To contact DRC, you may:
-
Visit DRC in Room 5400
-
Email DRC at adaptivelearningdrc@foothill.edu
-
Call DRC at 650-949-7017 to make an appointment
More information is available at https://foothill.edu/drc/ .
If you already have an accommodation notification from DRC, please contact me privately to discuss your needs.
Counseling services: For personal, career, and academic counseling see https://foothill.edu/counseling/
Assignments, Attendance, and Participation: Plan to complete all assigned works by their due date and time. A student or student group will review some assignments during the following class period. Deliverable details and due dates/times will be available via the course website. I reserve the right to add, remove, or alter any assignments. Notifications or changes will be made in class and/or via the course website. You will be instructed how to configure all of your Canvas notification settings to at least "Daily" ("ASAP" is best, but "weekly" or "none" are not acceptable/useful). Please make sure that you have the foothill.edu domain in your Safe Senders list for the email account you gave the college.
I may take 2 business days to respond to Canvas Inbox and e-mail messages. For best results, follow the instructions above titled "Contact Info:".
Grading
Your course grade is built on three types of assessments: assignments, exams, and activities including quizzes and exercises. There will be bi-weekly assignments, two exams, regular exercises, and beginning class ‘warm up’ quizzes that cover the previous class’s material and assigned reading.
NOTE: The class will use an Foothill College's default grading scheme without curving any grades: If you get 100% of the points possible, you’ll get an A grade. If everyone gets 100% of the points possible, everyone will get a A. Please make an A grade your goal, it is totally possible and common in my course.
Name: |
Range:
|
||
---|---|---|---|
Please note that the grades of A+ and C- are NOT available.
Assignments are weighted by group:
Group |
Weight |
---|---|
Large Assignments |
40% |
Quizzes & Exams |
30% |
Activities |
20% |
Participation and Other Assignments |
5% |
Video comments, Pronto & Canvas Discussions |
5% |
Total |
100% |
You can explore how the grading of particular items effect your overall score. Read:How to use "What-If" Scores
Assignments / Homework:
The terms “homework” and “assignment” are interchangeable, and everything that I say here that applies to one, applies to the other.
Once homework has been graded, I’ll return it to the class, either electronically or in print (usually via the Java Code Critic). You might then have the opportunity to revise your work (in whole or in part), and re-submit your work for a re-grade.
This approach to re-grades is sometimes referred to the “mastery approach”. The higher grade of the two will be your final grade for that homework assignment.
There are a couple of caveats: when you resubmit your work in this way, I reserve the right to not just re-grade the work, but also check to make sure that the work is correct, and may then follow up with email or verbal questioning of you. I might contact you via your email or phone number to setup an appointment to meet with you.
I reserve the right to assign you additional problems, if I feel that your grasp of the concept is shaky. This will be to your benefit, since the best way to learn how to program is to do it. You have approximately 1 week (sometimes longer) from the time the class gets the graded assignment returned to submit your revision. This means that if you are absent or not paying attention on the day that an assignment is returned to you, and haven't made prior arrangements with me, then you will still only have 1 week after the rest of the class got their grades to do your revision.
If you are not actively participating in the course, you might end up not having the chance to do a revision. You may only submit one revision per assignment.
If you haven't submitted the initial version of the homework assignment by the time that I go to grade it, then you can still submit it on or before the deadline for the revision, and it will be graded without penalty but you will NOT BE ALLOWED TO REVISE that assignment.
If you haven't submitted a revision to a homework assignment by the time that I go to grade it then you will keep the initial grade for the homework (if you didn't submit the initial version either, this means that you will receive a zero for that particular assignment, and I hate to assign zeroes).
Late Policy:
Any work that is not submitted to me for grading will be assigned a grade of "0".
The general policy for work that is submitted electronically is that work is not late until the I go to grade the work and find it to be missing.
In practical terms this means that if I haven’t graded something yet you can (typically) still upload the work and have it be graded as if the work had been handed in on-time (i.e., penalty-free). I will wait until the work is due to grade it (of course), but I make no guarantees about waiting any longer than that.
In other words: for work that has not yet graded you can take your chances that I will be back-logged enough for you to get the work done and submitted but if I grade it before you can finish (including submitting) the work then you will get the zero for not having it in on time. I recommend you don't take such chances!
Quizzes and Exams:
I reserve the right to assign you additional work, if I feel that your grasp of a concept is shaky based on your performance on an exam or quiz.
Students must take the Final Exam in order to pass this course.
Class Meeting Time:
Class time will be used not just for lecture time, but mostly for various in-class activities that you will be expected to participate in. Strong evidences exist that indicate that student success is directly related to class participation. Such in-person participation is usually recorded using a clicker mobile app at the start of each class. Show up on time for all classes, stay for the entire class, and actively participate in the in-class activities. If you do a reasonable job of correctly completing an exercise, you will get points for that exercise. The two most important aspects of doing the exercises are that you are doing a reasonable job for your ability level, and that you are learning the material.
This course includes 2 “hybrid” hour(s) per week. These “hybrid” hours are conducted via the Internet and not in a face-to-face class session on campus. In order to fulfill the participation requirements for these “hybrid” hours, students are expected to complete the following online activities each week:
- Discuss course topics in the relevant Pronto and Canvas discussion forums (which I check each business day and most weekend days).
- Complete any left over work for exercises or large assignments, including team work.
Missing Days and Make Ups:
If you notify me at least one week prior to an exam or quiz, it may be possible to take the exam or quiz at a different time than the scheduled date – this different time will be on the same day if possible, or typically on a day prior to the exam otherwise. No make-ups will be given for classes, quizzes, exams, presentations, or other such graded events, that were missed without prior notification to me. In any case, the notification of absence must be given at least 2 days before the exam/quiz/class event. The only exceptions are documented medical and other emergencies (you can forward text messages to the my email). Detailed information about Foothill's Health Services are available at the Health Services website.
Grading Disagreements:
Any disagreements about your grade should be brought to my attention immediately (waiting is always a sad mistake).
Unless stated otherwise, all work should represent your own original, independent thinking. Unless stated otherwise, all out-of-class assignments are not meant to be group projects. While in the classroom working on exercises, you are encouraged to either seek help or to offer help from those around you. It’s a programming party!
It is okay to talk with classmates to clarify conceptual understanding necessary to complete assignments. However, copying another person’s work in whole or in part, either manually or electronically, it not acceptable; nor is copying and slightly modifying another person’s work acceptable. Type your own code! You are here to increase your own knowledge and understanding and your exams' scores will be based only on your own knowledge and understanding, so type your own code. In the event copying should occur: all participants in the plagiarism (both the person plagiarizing, and the person whose work was taken) will receive:
1. A 20% penalty on the first offense
2. A grade of zero for the second offense, and
3. For a third (and final) offense, all parties will be given the option of either withdrawing (if the drop deadline hasn't been passed) or taking a "0.0" for the term.
A description of all such incidents shall be forwarded to the Dean of Students office, where a file of such occurrences will be maintained. Second (and third) offenses include offenses from prior terms.
Team projects are learning exercises like individual projects: every individual in the team is expected to understand all the material as if each person had done the entire assignment individually (which isn't hard if you are using pair-programming correctly). Therefore, it is fair game to ask any person in a team to explain any aspect of the assignment that the team has done.
If you accept help from someone who is not trained to teach without giving away the answer, it will short-circuit your learning process -- you will actually learn less. 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. Do not look for answers on cheater web sites or pay-for-help web sites.
Electronic Submission:
I would like you to electronically submit all assignments. You should type all assignments & homework answers into the computer (including essay questions), make sure it runs correctly, and submit the files for any given assignment. Usually this will be done using Canvas or the Java Code Critic. More details will be given in class how to submit assignments.
Today’s technology is inherently unstable: Your network might go down, your Internet Service Provider might be down, the public library might not be open, you might be unable to get Microsoft Word to do exactly what you want. While you might have this happen to you, it’s not an excuse for handing in an assignment late! Knowing this, you should include time in your schedule to compensate for possible technological snafus. For assignments having a hard deadline, no leeway will be given for failing to hand in work because of technological problems.
Attendance:
You are responsible for what goes on in class whether present or not. You are responsible for making up any work, assignments, quizzes, etc., for missed classes.
Attendance is very important, since the course is structured to require active involvement and participation on the part of the student. Missing a class means missing material that is difficult to make up. Daily attendance and participation records will be kept and you will be assessed. See the rubric for the Course Participation assignment for more information.
If you must miss a class, you will have to arrange to get the class notes and any other information from another person. Get to know some people in the class and stay in contact with them through the Canvas Inbox so if you do miss a class you can obtain assignments, quiz information, etc., for the following class.
Other Notes:
The number of projects and the points possible for exams, projects and activities are subject to change depending on the circumstances of the class. I reserve the right to modify any and all aspects of the course, any time, without prior notice, including this syllabus.
Classroom Conduct and Courtesies
Following these simple guidelines will help me to offer an enjoyable teaching environment for you. You are expected to come prepared to class and on time as scheduled. Coming late and/or unprepared is disrespectful and disruptive both to me and the other students in class, and may result in point deductions. If you must come in late, take out your supplies or notes before coming into the classroom and quietly enter the room without speaking to anyone. If you have any personal concerns, please feel free to talk to me at the end of class.
Please remember to respect the following list for me and the students around you.
* Please remember to respect me, other students, and yourself by not using inappropriate language.
* Please silence your mobile devices such as cell phones.
* Do not play computer games or visit gaming websites during class times.
* No chat or messenger programs during class times unless its part of the class activity.
* Do not use personal audio devices such as MP3 players or cell phones during class times.
* No Internet surfing, texting, or other mobile device activity that will distract people.
Withdrawals: If you decide to drop, it is your responsibility to submit an official drop to the Admissions Office. Do not assume that you will be dropped automatically.
Pro-activity and Self-Starting
Rule #1: If you want to learn programming you MUST watch the videos and do the reading and you MUST do the exercises and you MUST take advantage of whatever resources and sources are available in order for you to deeply understand it. Programming does not come magically or trickle into your head by osmosis. You cannot skate. It takes work. You must dedicate hours each day reading about code, writing code, researching code, puzzling out code, working the code again and again, and wrestling it into place. Eventually you might even find yourself dreaming about code, and then waking up in the morning with a “solution” to the problem you went to bed with. There is no other way to learn it.
Rule #2: Google it! Answers from Stackoverflow.com are usually great if you read the whole page.
Rule #3: Be resourceful, energetic, proactive, flexible, a self-starter, self-reliant, self-disciplined, and show drive and initiative! Show a friend (they don't even need to know how to program) how your program works and often you will realize the cause of your problem before you even finish your explanation! You are expected to do this in class.
Rule #4: Don’t get frustrated. Take breaks. Walk away from your code for an hour or two, and then come back to it refreshed and rejuvenated. It works!
Rule #5: Search for it again! And again! And again! Maybe you are in a Filter Bubble, so try another search service like StartPage.com or DuckDuckGo!
Course Outcomes:
Course outcomes are learning goals for students. The Student Learning Outcomes (SLO) for CS1A are:
SLO #1 - Java Control Structures and Methods
A successful student will be able to write and debug Java programs which make use of the fundamental control structures and method-building techniques common to all programming languages. Specifically, the student will use data types, input, output, iterative, conditional, and functional components of the language in his or her programs.
SLO #2 - Java OOP Design
A successful student will be able to use object-oriented programming techniques to design and implement a clear, well-structured Java program. Specifically, the student will use and design classes and objects in his or her programs.
Grading & GPA:
Academic Honesty: Take proper credit for your work in the classroom and honor the integrity of your learning. Please talk with classmates to clarify the course topics you are trying to understand as necessary to complete assignments. However, be careful to not represent another person's work, in whole or in part as your own thinking. Remember, copying and slightly modifying another person's work, is plagiarism and is not acceptable. Type your own code!
The College regards acts of academic dishonesty, including such activities as plagiarism, cheating and/or/violations of integrity in information technology, as very serious offenses. In the event that cheating, plagiarism or other forms of academic dishonesty are discovered, each incident will be handled as deemed appropriate. Care will be taken that students' rights are not violated and that disciplinary procedures are instituted only in cases where documentation or other evidence of the offense(s) exists. A description of all such incidents shall be forwarded to the Dean of Students office, where a file of such occurrences will be maintained. The college may institute action against a student according to the college's disciplinary policies and procedures. Your submissions should represent your own, unique thought and effort after you have dialogued with others to review and self-correct your efforts. Deliverables not meeting these requirements will not be graded until they have been completed to the specifications.
Learning Environment Policies
General Learning Policy: Our classroom will be a pleasant space for learning, as such disorderly, abusive, or bothersome conduct will not be tolerated in the classroom, lab, or online environment. Such behavior which interferes with the rights of others or which obstructs or disrupts teaching will result in immediate disciplinary action.
Work and Sit Together: Much of our class time will be lab time, where students work on the computers in the classroom. Please use that time effectively by sitting next to a fellow student, talk about the course content, engage your team regarding group projects, and solicit assistance from me. Do NOT sit alone (unless told to do so by me, such as during exams and quizzes). I reserve the right to change seating arrangements and group memberships.
Drops and Withdrawal
For a complete reference of all withdrawal dates and deadlines refer to the Foothill College registration page at the college web site here:
https://foothill.edu/calendar
To stay enrolled in this course, you must participate regularly in your lab assignments, team meetings, and exams. This is part of the course participation that online classes must possess in order to maintain their transferability and accreditation.
You will be dropped by me (perhaps without a warning) for any of the following:
-
Failing to make an introduction post in the "Introduce Yourself To Our Class!" discussion during the first 3 days of the quarter.
-
Missing a scheduled exam or more than one quiz in a row without prior notice.
-
If you do not login for nine (9) consecutive days. (See exception below.)
-
If you receive a zero on any two of the large assignments. (See exception below.)
-
If you do not completely attend 4 or more classes you will be dropped for non-participation or you will receive a failing (F) grade. For online-only students "missing a class" is not completing modules and online activities in a timely manner (See exceptions above in the section "Missing Days and Make Ups").
- If you are in the online-only section and don't login and utilize our Canvas course website for more than 1 week or miss more than 1 quiz in a row you will be dropped for non participation.
Exception to Above Policies:
If the non-participation that has just been described occurs partially beyond the last date to drop, I may not be able to drop you, and you may receive whatever grade that your points dictate. Therefore don't assume that you can simply stop participating late in the quarter and you will be dropped. If you intend to drop please do so yourself, so you don't accidentally end up with an unintended "F."
If you decide to drop the class, please let me know. I cannot allow anyone who has dropped to continue to have access to the course material.
Undocumented Students
The Foothill-De Anza Community College District Board of Trustees unanimously adopted a Resolution in Support of Undocumented Students and a Resolution in Support of DACA, the Deferred Action for Childhood Arrivals program. Resources for the undocumented can be found at:
- https://foothill.edu/dreamers/
- https://ready-california.org/resource/
- http://www.cccco.edu/ResourcesforUndocumentedStudents.aspx
What follows is the auto-generated task list of everything that has a due date. The most important assessments are the 5 large assignments. My plan for those are in this simplified schedule:SimpleSchedule.pdf
Tentative Course Schedule:
I reserve the right to change these items at any time:
Course Summary:
Date | Details | Due |
---|---|---|