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 with CSS, and enhance functionality by leveraging popular toolkits like Bootstrap. 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 integrating JavaScript (JS), a powerful programming language that enables dynamic behavior, user interaction, and data processing. Time permitting, industry-standard JS libraries like React and Node.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

Assignments in this course include: PROJECTS (40% of overall grade), HOMEWORK (30% of overall grade), and CLASSWORK (30% of overall grade). See below for details, procedures, and grading policies.

PROJECTS (40%)

  • 💻 Projects serve as the bulk of our coursework. Expect at least one major coding project assigned per unit, to which we will dedicate several weeks of class time.
    • Projects involve writing full programs that have rigorous requirements designed to test your technical skills, however, plenty of support is available during class time and office hours to ensure all targets are met.
    • As such, the grades you earn on projects will depend heavily on your 🎨 creative effort.
  • Projects follow this workflow:
    1. 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.
    2. 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.
    3. Your completed project will be submitted on Blackbaud by copying your 🔗 repository link.
  • 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, documentation, and creativity. The grading rubric employs a 5-point scale. The overall assignment score is then adjusted to be out of 10 points, so that all grades start from a scaled zero (baseline grade of 50%). 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%
Work that fails to demonstrate understanding and/or has insufficient evidence of individual work may be graded as low as scaled zero (50%). Missing assignments also receive a scaled zero (50%). 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%)

  • 💬 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:

    1. 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.
    2. You will “fork the repository” (make your own copy of the program) to run it, experiment with it, and figure out how it works. The goal is to practice describing and explaining code language in plain English.
    3. 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 HOMEWORK: Students are expected to submit work by the assigned due date. This helps you participate fully in class and engage in the lessons. While there may be grading penalties for work submitted late, the goal is to help you successfully complete assignments on time, so you are prepared to learn and progress in class. If you require an extension, it is your responsibility to let me know and have a plan in place for submission.

📧 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%)

  • 📝 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 and on-task during class time.

‼️ 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

Community Values

Our classroom culture relies on embracing these 3 key values: PREPAREDNESS, ENGAGEMENT, and RESPECT.

  1. Being prepared for class means you have your laptop ready (follow the directions written on the board) within the first 5 minutes of class. It also means you arrive with a positive attitude and ready to learn!
  2. Show you are engaged by volunteering answers/comments 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.
    • Student actions that interfere with learning will NOT be tolerated. Do not squander your time here on distracting apps, side conversations, or doing work for other classes.
  3. Being respectful of your community means being mindful of and kind toward your environment and the people within.
    • Respect includes arriving on-time as it affects the entire class.
    • Respect others’ property. Avoid touching or writing on anything that does not belong to you.
    • Pick up after yourself and don’t expect other people (like your teacher) to clean up your messes.
    • Respect each others’ voices by allowing others to finish their comments before jumping in. BWL’s Constructive Dialogue Principles will serve as our framework for successful group discussions:
      • Let go of winning.
      • Ask questions to understand.
      • Find what is shared.
      • Share your story and invite others to do the same.
      • Make yourself and others feel heard.

TARDINESS: If you are over 5 minutes late, you must first get a LATE PASS from the Upper School Office and enter QUIETLY so as to not disrupt the lesson.

Other Classroom Policies

  • 🗓️ Office Hours / Extra Help is held in Room #71 during 7th period (1:00-1:40) daily.
    • Drop-ins are welcome, meaning there is no need to let me know in advance.
  • 📝 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.
  • 🚫 NO FOOD in the Computer Lab → eat your lunch in the Commons instead.
    • Specifically, please do not bring meals to eat in this classroom. Small packaged snacks are OK!
  • 📱 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.

🧠 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.

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:
    1. Check with your teacher if the task or assignment can be completed with the support of a GenAI tool.
    2. 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.
    3. 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
  • Help brainstorm creative ideas
  • Explain concepts in a different way
  • Critique and provide feedback on code
  • Teach how to add a new, specific feature to an already working program
  • Completing any written assignments, like homework discussions
  • Asking GenAI to write a significant portion of code for a program
  • Copying any amount of code without reading the explanation and understanding how it works
  • Not asking for permission to use GenAI tools, not checking for inaccuracies, and not citing work with GenAI