Course Syllabus

Montenaro - AP Computer Science Principles - S2



The Beauty and Joy of Computing
Syllabus: Course Information and Policies

provided by BJC on their edEx website under a Creative Commons license

edited by Joshua Montenaro at Weddington High School Spring 2020

1. Course Description
Beauty and Joy of Computing (BJC) is a CS Principles course whose guiding philosophy is to meet students where they are, but not to leave them there. It covers the big ideas and computational thinking practices required in the AP Computer Science Principles curriculum framework using an easy-to-learn blocks-based programming language called Snap ! (based on Scratch), and powerful computer science ideas like recursion, higher-order functions and computability. Through the course, students learn to create beautiful images, and realize that code itself can be beautiful. This is NOT just a programming course; you’ll learn many other CS Principles big ideas: creativity, abstraction, data and information, algorithms, the Internet, and global impact. When discussing the social implications of computing, we try to balance optimism about technology with a critical stance toward any particular technology.


In the course, you’ll read from the textbook Blown to Bits as well as articles from the web, discuss them on the forums, watch inspiring videos, and learn fundamental principles of computer science and programming through labs that will guide through learning Snap ! There will be quizzes along the way, and a final exam. You are strongly encouraged  to ask and answer questions and help each other learn, so that your peers and you taking this course form one big learning community.

Who Should Take This Course?
There are no formal prerequisites for this course, though the College Board recommends that students have taken at least Math 1.

The course requires a significant amount of expository writing (as well as writing computer code, of course).



Having fun is an explicit course goal. We hope you enjoy this course as much as the thousands of students who have taken it before you!


2. Development and Teaching Staff
BJC.12x is brought to you by the hard work and dedication of an army of outstanding faculty, staff and students over two years of development. Some have finished their work before the course launch, others will continue to help in the fall. We would be remiss if we did not thank others in the BJC team (UC Berkeley Teaching Professor Emeritus Brian Harvey, NC State Professor Tiffany Barnes, UC Berkeley PhD Graduate Omoju Miller, UC Berkeley Research Associate Nate Titterton, all the folks at EDC) who helped with the development of the BJC curriculum.



3. Programming Language
Snap! is an entirely browser-based blocks language supported on Chrome, Firefox, and Safari. As of this writing, we have found the best performance using Chrome.


4. Course Materials
There are no textbooks or external materials that you need to purchase for this class because we provide them all for you. All lecture videos, slides and reading assignments are posted within canvas.


5. Learning Goals

Build a mobile app (or two) using Snap !
Design procedures to draw, make music, animate, and interact with the user.
Use loops to repeat similar steps of code.
Create procedures inside procedures and loops within loops.
Explore mathematics of computer science: random, modulo, and logical operators.
Analyze the impact of technology on our culture and safety.
Begin thinking about the structure of programs and the structure of data.
Become fluent with conditional statements and the use of local variables in programs.
Analyze computing innovations and discuss privacy implications.
Learn about how to store data with Snap ! lists.
Become fluent with the use of higher-order functions to process lists.
Evaluate algorithms analytically and empirically for efficiency, correctness, and clarity.
Build a working “word guessing game”.
Analyze computing innovations and discuss privacy implications.
Explain how computing innovations affect communication, interaction, and cognition.
Explain how people participate in a problem-solving process that scales.
Explain how computing has impacted innovations in other fields.
Analyze the beneficial and harmful effects of computing.
Explain the connections between computing and economic, social, and cultural contexts.
Have fun!

6. Time Commitment and Expectations
You are expected to contribute 5 hours per week on this course. This involves doing all the activities listed in a week segment. You are expected to finish the work for a week (Sundays 11:59 PM PST) before the next week starts. We will release the next week’s material on Fridays at 11:59 PM PST, so you can start work on it over the weekend. We may be making tweaks to course content based on student feedback, or if we discover errors or omissions, and will make it clear what those changes are. We will also be sharing weekly “computing in the news” stories with you, to show you how computing is affecting your world that week.


7. Activities
These are the activities you’ll do in BJC.12x. A typical week will have one or two reading assignments (they can also be videos), a reading quiz and forum participation expected per reading assignment, lecture videos and quizzes, and lab exercises. In the later weeks of the course, there will be a homework(if needed) and project assignments.

Readings are given out once a week. By the end of the week, you are expected to be able to answer our Reading Quizzes , which test your reading comprehension. You
are expected to participate in the Canvas Reading Discussion with your small group once per week. You are not required to make any other posts on Canvas, but feel free to use it as a resource if you have questions, and please answer each others’ questions!
● Lectures cover material that will provide the conceptual basis for lab work.  I will facilitate Teaching Professor Dan Garcia is the primary video lecturer, and throughout the course of the semester, there will be several guest speakers in fields that are relevant to the topics covered in the class. There maybe a Lecture Quiz at the end of each short Lecture video if I feel it to be necessary.
● Lab Exercises can be completed on at any time. You are highly highly encouraged to complete lab work with a partner! While your lab work isn’t directly graded for correctness (because that’s where the learning happens, where it’s ok to be wrong), when you believe you are finished, you will submit your code for instant feedback and to earn participation points. There are also Lab Quizzes sprinkled throughout the lab, which test your understanding of the material at that point.
● Homework assignments: Classroom instruction will be supplemented with online and computer-based activities, assignments, and reading to be completed at home. If a student does not have access to the Internet at home, arrangements can be made for these activities and assignments to be completed at school. Additionally, students will need to study for any quizzes or tests that may be given.
● Projects are larger assignments that you design intended to teach you how to combine ideas from the course in interesting ways. Programming projects are your chance to build something you want to! You are encouraged to complete these projects in pairs. For BJC.12x, you will complete the “Fun Programming Project” in pairs and an “Explore Project” solo.

8. Grading Policy
Your course grade is computed using a Weighted system as follows:

Grading:

Classwork/labs=20%

Projects=30%

Quizzes=20%

Test=30%

Final Exam=25% of overall semester grade

9. Academic Policy and Forum Etiquette
Your first and most important resource for help in learning the material in this course is
your fellow students. Starting on the first day of class, we encourage you to find a partner
to work with.

With the obvious exception of your homework and exam, we encourage you to discuss all
of the course activities with your friends and fellow students as you are working on them.
You will definitely learn more in this class if you work with others than if you do not. Ask
questions, answer questions, and share ideas liberally on canvas. For your homework and
exam, we expect you to hand in your own work. Do not post your solutions on Canvas. The
course staff works hard to put together this course, and we ask in return that you respect
the integrity of the course by not misrepresenting your work.

● Be respectful. When sharing projects or posting comments, remember that people of
many different ages and backgrounds will see what you’ve shared.
● Be constructive. When commenting on others' projects, say something you like about it
and offer suggestions.
● Be honest. Don’t try to impersonate other students, spread rumors, or otherwise try to
trick the learning community.
● Help keep the site friendly. If you think a project or comment is mean, insulting, too
violent, or otherwise inappropriate, send us a private message to let us know about it.

10. Students Supplies:      

Flash Drive 8G or more
Earbuds/Headphones
Notebook
Pencils


Resources
Lab submission and grades will be made available through Canvas

EmpowerED (Links to an external site.)Links to an external site. - this provides parents with links to online resources and apps that students can access.

Students will be using the BJC (Links to an external site.)Links to an external site. curriculum throughout this course.

Students will be programming in Snap (Links to an external site.)Links to an external site..

Students will be reading the free ebook, Blown to Bits (Links to an external site.)Links to an external site..

The Exam and student Performance Task directions can be found here (Links to an external site.)Links to an external site..



ONLINE LEARNING PLATFORM

Canvas - ask your student for their login information to see updates on assignments, due dates, and grades

edX (Links to an external site.)Links to an external site. - free learning platform for delivering the BJC curriculum.



CLASS ATTENDANCE POLICY

Regular attendance is required.  Your presence in class is crucial since most of the activities in this course occur during class time.  Your active participation will enhance your success as well as that of your classmates. Be active in class!  Participate in class discussions! Your opinions, input, and questions are what this class is all about! Class attendance is part of your final grade.

Credit will not be granted for classes when absences for a student reach eight days for a semester long course and fifteen days for a yearlong course. Absences include those that are lawful, unlawful, and due to suspension.

Following any absence(s), a student is required to present a written document from the parent or guardian stating the reason for the absence.



STUDENT USE OF COMPUTER EQUIPMENT/INTERNET

Please READ pages 53 – 54 in your UCPS handbook and regarding appropriate use of computer equipment/internet and consequences for misuse of both.

TUTORING

We will implement the Warrior block as our tutoring time. Please follow all guidelines set forth by the administration when it comes to warrior block.

LATE/MAKE-UP WORK

Assignments are due on the announced due date. It is your responsibility to keep up with class activities and assignments and request missing assignments due to absence.  Upon returning from an excused absence, students will be given two days for each day absence to make up missed assignments/test. All students work at a different pace and will be graded primarily on their quality of work and productivity level during class.  As long as the students are highly productive each day and producing work of high quality, they will receive excellent grades. Extensions will also be available upon request.

New Schoolwide policy:  Work that has recieved a 0 and cannot be made up will have a 0 in the gradebook.  If it has not been turned in but still may be completed for a grade, it will have a score of 1.

TARDY POLICY

Students are expected to be in class when the tardy bell rings. A student is tardy when he/she is not in the classroom or laboratory where his/her class regularly meets when the bell begins to ring.  Student must report to office for an admittance slip. A tardy will be recorded. Please see Weddington High School Handbook for tardy policy and consequences.

CLASSROOM PROCEDURES

Please note:  Bottled water is allowed.  The privilege will be removed if containers are not disposed of properly.  Water is not allowed near the computers, and must remain by the desk.



Students are expected…………………………………..

To act in a manner that is respectful and courteous
Show respect and courtesy for all class members and the teachers
Disrespect WILL NOT be tolerated!

Be prepared daily with all required materials
Be punctual – be seated quietly and ready to begin when the bell rings
Conduct yourself in a manner which respects all students’ right to learn
Follow all verbal and written instructions from the teacher
Use time between class to take care of restroom needs
(If there is a medical reason, a doctor’s note is required)

Stay in the room until the teacher dismisses class
Contact teacher with any questions concerning a grade


ALWAYS PUT FORTH YOUR BEST EFFORT!!!
If a student produces sub par work but does so quickly to be ahead of the rest of the class, they will be expected to refine it until it is of high quality.  Completing work early for a lower grade is not an excuse for off task behavior. Productivity points will be lost if such behavior is exhibited.
If work is completed early and of high quality, then the student may help assist other students while under the teacher's supervision or work on a more challenging extension project.

Course Summary:

Date Details Due