Policies
- Assignments.Assignments, always listed in the course calendar, are always revealed at midnight on Monday morning and due at midnight on Sunday night. Late assignments are not accepted. Assignments that are programs must operate correctly on the student server hills. All work must be submitted by running the ~abrick/send program. ¶ Submissions that complete the assignment earn full credit. I read and test your work and review peer review comments, adding my own. Our peer review process produces detailed feedback on assignments. See Peer Review.
- Canvas.The college provides a Learning Management System called Canvas for online courses. We rely upon it for our discussion and announcements. All assignments and peer review take place on the student server. Canvas displays the same syllabus, calendar, and grade data published on my web site. This data is not integrated with Canvas's gradebook.
- Chatbots, code suggestions, and plagiarism.You must do your own work. If you turn in plagiarized or autogenerated work, be prepared to receive a zero. Using generative coding tools would deprive you of opportunities to learn, and their output is often wrong. Read Torsten Schenkel's essay, “Using AI for coursework” and the college's own Rules of Student Conduct.
- Enrollment.You are welcome to enroll in my courses. During the first two weeks of the semester, as long as a classroom is not overfull, I approve all requests to add my courses. I will not, however, put you on or take you off a waitlist. You are responsible for dropping yourself if you decide to leave a class.
- Exam.The final exam in all courses is the final assignment and peer review cycle. It has equal weight as all other assignment & review cycles.
- Exercises.Weekly readings contain optional exercises which should not be turned in. See assignments.
- Free Passes.To accommodate the many small things that come up in life, you have the right to skip up to one fifth of course deliverables without effect on your final grade. You do not need to take any action to use a free pass; they are applied automatically. One pass is released after every five deliverables.
- Grades.
Your final grade represents your constancy in the course. It is the fraction of the assignments and peer reviews that you complete, one letter grade per decile, after accounting for free passes. Access your current scores and comments on your work by running the ~abrick/tally program. See Free Passes.
- Help.Regardless of our preparation and background, we all need help. Every course has group discussion in a classroom or an online forum. You can always write an email to your instructor, and if you like, make an appointment for a video call. The CS Tutor Squad can also help.
- Independent Study.I supervise independent study projects under catalog number CS199. They have to be useful, novel, and serious to be worth our time. Propose your project to me so that we can discuss its scope and goals.
- Interactive programs.In programming courses, your programs must be non-interactive; they cannot sleep or prompt the user for input. This rule ensures that all programs have similar invocations and do not require special handling to test.
- Office hours.During the school year I hold office hours on Tuesdays from 9:30 – 11:30, over Zoom. The file ~abrick/resources/zoom_url.txt on hills contains the passwordless conference URL. See Services.
- Peer Review.
You and your course peers anonymously review each others' work for its clarity and correctness, exposing everyone to each other's useful design ideas and offering meticulous feedback. The review consists of examining, comparing, critiquing, and ranking seven files of peer work from the previous week.
Your comments should be specific, constructive, in complete sentences, and both supportive and critical.
If you describe a problem that occurred in your testing, make sure you include the input that triggered it.
Mark any irrelevant or dishonest submission with a comment that begins with the special marker “N/A”, and explain the problem.
¶
Peer review files rank and describe the work of your peers.
They are plain text and always have the extension .pr.
The file runs in order from the most to the least successful works, each line being a file code and a comment about that work.
Run the ~abrick/tally program to learn which files to review.
See an example PR file if you like to work from a template.
Peer review files must be submitted by running the ~abrick/send program.
One batch of peer reviews per week earns full credit; additional batches earn 20% more each.
See Assignments.
- Privacy.In the peer review system you are anonymous by default. You can put your name on your homework, peer reviews, or discussion posts if you want your peers to know it. Forum posts within the same section, by college policy, post your full name.
- Python.My Python programming courses use Python 3. Recently, python3 version 3.10.5 was running on the hills server. The correct extension for files containing Python code is .py.
- Schedule.
Every class week is named and contains resources or tasks. Begin with the assigned reading, and in an online class, read the Instructor’s Notes afterwards. Use class
time or the class forum to clear up anything you found mysterious. Exercises and assignments are designed to be tackled using each week's own concepts and techniques.
- Services.
You will need to access the student Linux server hills.ccsf.edu using an SSH client.
On Linux and Mac systems one is preinstalled with the name ssh. On Windows you can try PuTTY and on Android, ConnectBot; any alternative is fine. Your hills username is the same as your CCSF email name: up to eight characters long. Your initial password is based on your birthday and first and last initials, in the form jan0188.fl (example for someone born January 1, 1988). Passwords will not be shown as you type them, and you will have to change the default right away.
If you mean to connect wirelessly on campus, the network to use is CCSF Student.
If you need your password to be reset, you can achieve this by going into the myRam Portal, into the Student Portal, and into My Profile.
- Teaching Assistants.Teaching assistants who have already excelled in a class contribute peer reviews and help students in a forum or in person. The college pays minimum wage. Contact me if you think you are a good candidate for this job.
- Teaching Philosophy.See my separate explanation of my teaching philosophy.
For any questions, please write to me at abrick@ccsf.edu.