teaching
CMSC 141
Object-Oriented Programming (F2021)
overview | logistics | schedule | announcements | assignments | repl.it | resourcesLecture: Monday & Wednesday 8:30-9:50am (RKC 103)
Lab A: Friday 10:20am-12:20pm (RKC 107)
Lab B: Friday 2:00-4:00pm (RKC 107)
Keith's Drop-In Hours: Mon & Thu 1-2pm and by appointment
Tutoring Hours: Sun-Thu 7-10PM in RKC 100 and by appointment
Primary Texts
- Getting Started with Processing.py. Parrish, Fry and Reas [PFR]. Make: Community. 2016. ISBN: 9781457186837.
- Think Python: How to Think Like a Computer Scientist. First Edition (Python2, 2.0.17 version). Allen B. Downey. 2012. [PDF] ISBN: 144933072X.
- The Nature of Code. Daniel Shiffman. 2012. ISBN: 0985930802.
- Eloquent Javascript. Haverbeke. Third Edition. ISBN: 1593279507.
- Getting Started with Processing. Second Edition. Reas and Fry [RF]. Make: Community. 2015. ISBN: 9781457187087.
- Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction. Shiffman. Morgan Kaufman. Second Edition. 2015. ISBN 0123944430.
- Getting Started with p5.js. McCarthy, Reas, and Fry [MRF]. Maker Media. 2015. ISBN 1457186772.
- Exams (40%): Two closed-book exams
- Lab Assignments (20%): Programming assignments
- Final Project (20%): A large project (e.g. game, simulation, interactive visualization)
- Participation (20%): Quizzes, code critiques, discussion, other homework
- Participate. There will be myriad opportunities: in RKC 103 & 107, google docs, repl.it, dropbox paper, excalidraw, office hours, discord.
- When reading, studying, and listening, be active by taking notes and asking questions.
- When reading small code examples: read, run-in-your-head, run-on-the-computer & riff-and-revise.
- Visit the professor's and tutor's drop-in hours.
- Attend class & be on time (whenever possible given COVID reality). Please wear a mask.
- Make sure to have read the required reading BEFORE class.
- Start all the assignments early.
- Check Google Classroom & this class website.
- Be respectful of your fellow classmates; my rule of thumb for judging whether a response is worthwhile: Is it Nice? Is it True? Is it Necessary? Pick at least two.
- Adhere to the Code of Ethics and Professional Conduct for the Association for Computing Machinery.
- Cooperate carefully and thoughtfully:
- Work within your pair & pod, and visit drop-in hours, before seeking help beyond.
- Credit work, including all sources you used from the web, other books, etc.
- Sharing ideas is encouraged, but blatantly copying work without attribution will be treated as scholastic dishonesty and receive no credit.
- Be prepared to demonstrate the theory of your program (Peter Naur).
- Keep your work backed-up and private using Google drive.