Course Information
Table of Contents
COURSE DESCRIPTION
The Pre-AP Computer Science course introduces students to programming with a special emphasis on Website Development. By engaging with current technologies, students enhance their creativity, critical thinking abilities, and problem-solving skills in a context that is highly relevant and applicable. The first semester is dedicated to static website creation, where students learn to build the structure of pages using
HTML
, style them withCSS
, and enhance functionality by leveraging popular toolkits likeBootstrap
. Each student designs and codes their own multi-page personal website that is mobile-responsive, user-friendly, and has a cohesive aesthetic. In the second semester, students enhance their HTML pages by integratingJavaScript
(JS), a powerful programming language that enables dynamic behavior, user interaction, and data processing. Time permitting, industry-standard JS libraries likeReact
andNode.js
are explored. Throughout the year, the class engages in meaningful discussions about the legal, social, and ethical issues surrounding internet-based technology in modern society. Students emerge from the Pre-AP course equipped with an understanding of their potential impact within the field of technology, proficiency in three complementary coding languages, and the ability to code fully-functional, interactive websites.
Assignments & Grading
PROJECTS (40% of overall grade)
- 💻 Projects serve as the bulk of our coursework. There will be one major coding project assigned per unit that we will work on in class over several weeks.
- These projects have minimum requirements to test your technical skills, but are largely graded on your 🎨 creative effort!
- Projects follow this workflow:
- A link to a GitHub template repository will be provided as starter code. A
repository
, or “repo,” is like a 📂 project folder that contains several code files. - You will write your code in the GitHub Codespaces IDE. An
IDE
is an “Integrated Development Environment,” which means an application (or web-app) where you can write and run code. - Your completed project will be submitted on Blackbaud by copying your 🔗 repository link.
- A link to a GitHub template repository will be provided as starter code. A
- Projects are graded on a 5-point scale, and EXTRA CREDIT is always available to encourage effort and creativity. See the rubric section below for details.
PROJECT GRADING RUBRIC
Programming projects are evaluated via a qualitative system considering a program’s efficiency, legibility, correctness, completeness, comments, etc. The grading rubric employs a 5-point scale. The assignment score is then adjusted to be out of 10 points, such that students earn a baseline of 50% credit for submitted work. Extra credit may be awarded for exceptional effort!
EVALUATION | SCORE | PERCENT |
---|---|---|
A submission that exceeds standard expectations, often reflecting additional work beyond the requirements or gets the job done in a particularly elegant way. Rarely awarded, but well-earned. | 6/5 | 110% |
A submission that satisfies all the requirements for the assignment and demonstrates sufficient effort. It reflects solid understanding and a job well done. | 5/5 | 100% |
A submission that meets most of the requirements for the assignment, possibly with a few small problems. Alternatively, it may meet all of the base requirements but through a "bare minimum" effort. | 4/5 | 90% |
A submission that has several problems that cause it to fall short of the requirements for the assignment. It may also demonstrate some misunderstanding of the underlying concepts. | 3/5 | 80% |
A submission that has extremely serious problems (i.e. the program does not compile or run), but nonetheless shows some effort and understanding. | 2/5 | 70% |
A submission that shows little effort and does not represent passing work. | 1/5 | 60% |
Assignment submitted but has insufficient evidence of individual work. | 0/5 | 50% |
- 💯 GRADE IMPROVEMENT POLICY: You may re-submit projects for a full RE-GRADE, but you must email me to let me know which project, and it must be completed at least one week BEFORE the end of the current quarter.
- When re-working your projects, you are encouraged to come to office hours for help or additional feedback. I am way more likely to grade your work favorably if you have shown effort towards improving your skills…
- Coding is an iterative process which means it is VERY normal not to have your programs working perfectly the first time! Programmers often have to edit their code many times.
📧 You must SEND ME AN EMAIL whenever you update or resubmit a project, especially after the assignment has been graded on Blackbaud! Otherwise I will not be notified.
HOMEWORK (30% of overall grade)
-
💬 Homework is assigned in the form of a
CodeCollab
: like posting on a discussion board, but instead of talking about a book or article, the class has a shared goal of figuring out how some 🔍 mystery code 🔍 works. -
Homework assignments follow this workflow:
- At the beginning of each week, I will post a DISCUSSION assignment on Blackbaud that includes a GitHub repository link to a working program that you will analyze collaboratively.
- You will “fork the repository” (make your own copy of the program) to run it, experiment with it, and figure out how it works.
- To earn full credit, you must post at least two (2) comments: one main post, and one response to a classmate. See our course website’s CodeCollab Instructions page for detailed guidelines.
CodeCollabs are always due on Fridays @ 11:59PM
❗
- ⏰ LATE HW GRADING PENALTIES: Late homework will recieve no penalty if submitted within one week of the deadline, a 5% deduction if submitted in the 2nd week past the deadline, and a 10% deduction if submitted later than 3 weeks.
📧 You must SEND ME AN EMAIL whenever you submit homework late, especially after the assignment has been graded on Blackbaud! Otherwise I will not be notified.
CLASSWORK (30% of overall grade)
- 📝 Classwork involves a mix of note-taking lessons and interactive coding activities.
- 📓 Notes: Each unit begins with a series of tutorial-style lessons where you will write code alongside the instructor, learning new concepts through practical demonstrations while building your own working program to use as a reference.
- 🎯 Activities: Between note-taking sessions, you will also be tasked with coding exercises that provide you opportunities to check your understanding, play around with new skills, think creatively, practice debugging, solve challenges, and collaborate with peers. Think of these activities as mini-projects.
Expect at least one classwork-type assignment to be graded each week: Either a “note check” to confirm you are caught up on new material, or a completion grade for a coding activity. It should be easy to get 100% in this category if you are engaged during class!
‼️ If you are ABSENT, you are expected to take initiative to catch up on any missed classwork! Everything we cover in class is on the course website. Refer to the Blackbaud classwork assignment each week to see which 📓 note sections were covered or which 🎯 activities need to be completed.
Expectations & Policies
AI Usage Policies
- Generative Artificial Intelligence (GenAI) tools like ChatGPT are a significant technological advancement that has the potential to support your learning, especially in Computer Science. But with any new technology, there are significant limitations and risks associated with its use, misuse, and overuse. Source
- To support appropriate use of GenAI tools in your learning, these three steps should always be taken when determining if and when to use GenAI tools:
- Check with your teacher if the task or assignment can be completed with the support of a GenAI tool.
- If the tool is allowed, track your conversation with the tool by screenshotting or copy-pasting the interaction in a document that you can share with your teacher.
- Cite the use of the tool when submitting your work. Here is an example with APA style formatting:
OpenAI. (2023). ChatGPT (Mar 14 version) [Large language model]. https://chat.openai.com/chat
If these steps are not followed, your use of GenAI will be considered an academic integrity violation.
EXAMPLES OF AI USE
These examples are specific to my Computer Science classes and are subject to change as we explore appropriate AI usage throughout the year. Rule of thumb: Always check with your teacher before using GenAI tools!!!
Appropriate Use | Inappropriate Use |
---|---|
|
|
Community Values
- As a member of our class, it is important to be mindful of these 3 key values: be PREPARED, ENGAGED, and RESPECTFUL.
- Being prepared for class means you have your laptop ready (unless otherwise instructed) within the first 5 minutes of class. It also means you arrive with a positive attitude and are ready to learn!
- Show you are engaged by volunteering answers/comments, staying on task, and completing classwork as directed. You are expected to take your own notes while new material is being introduced, to contribute during group activities, and be open to collaborating with all classmates.
- Being respectful of your community means being mindful of and kind toward your environment, and the people within – this includes arriving on-time to commitments.
⏰ If you are over 5 minutes late, you must first get a LATE PASS from the Upper School Office and then enter the classroom QUIETLY as to not disrupt the class.
Other Classroom Policies
- 🗓️ Office Hours / Extra Help is held in Room #71 during TBD .
- Drop-ins are welcome, meaning there is no need to let me know in advance if you want to stop by during those periods.
You may email me to schedule an appointment at a different time, ONLY IF you have other classes during my scheduled office hours. Include a list of your free periods in your email!
- 📝 You can leave a sticky note on my desk for anything you want me to remember to do.
- Ex: “Please re-grade my Unit 1 Project”
- 🖊️ Student supplies (pens, pencils, sticky notes, etc.) will always be available to borrow, located up front by the whiteboard.
- No need to ask, but please return pens/pencils after class!
- 🤞 SILENTLY SIGNAL that you need to leave for the bathroom or water by holding up crossed fingers.
- Just make sure I acknowledge you are leaving the room first!
- 📱 NO-PHONE ZONE! → as per the new BWL Upper School policy, phones must be locked up downstairs while you are in the building.
- If you are caught with a cell phone in class, it will be confiscated immediately and you will be sent to the Upper School office.
- 🖥️ Using your personal LAPTOP is a privilege.
- If you are caught using your laptop for things like iMessage, Discord, Snapchat, etc., you will be required to use the DESKTOP COMPUTERS in the classroom for a period of time.
- 😊 Common courtesy stuff:
- Student actions that interfere with teaching or learning in the classroom will NOT be tolerated. Please do not spend your class time on distracting apps, having side conversations, or doing work for other classes.
- Respect others’ property. Avoid touching or writing on anything that does not belong to you (including tables, books, teacher’s belongings, walls, etc.)
- Please pick up after yourself, don’t leave trash 🗑️ behind, and don’t expect that other people (like your teacher) will clean up your messes.
🧠 Finally, some mindset tips: I strongly encourage you all to be proactive about your learning, embrace creativity, take responsibility for your work, and never be afraid to ask for help!!! There are no bad questions, and chances are if you are wondering about it, someone else in the class is too. If you feel most comfortable waiting until after class, that is okay, but do keep communication open between us.