Course Syllabus

BJC.12x and BJC.24x

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 Scott Bryan for AP Computer Science Principles at CATA
Fall 2019

https://www.albert.io/assignment/4c8c4af5-4cff-4bdb-b79f-c1dcf69d55d5

 

EmpowerED - this provides parents with links to online resources and apps that students can access.

Students will be using the BJC curriculum throughout this course.

Students will be programming in Snap.

Students will be reading the free ebook, Blown to Bits.

The Exam and student Perfmance Task directions can be found here.

Old student samples can be found here.

 

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 use the Piazza forum to ask and answer questions and help each other learn, so that the ten thousand of you taking this course form one big learning community.

There are no prerequisites for the course.  However, we are currently offering it to Sophomores, Juniors and Seniors.


We are offering BJC as two “MOOClets” - BJC.12x and BJC.34x. All of the CS Principles material is covered in the first three, with the last being wonderful, but advanced computer science ideas we affectionately call our “BJC secret sauce”. Here is the duration and briefly what each contains; we hope you will continue on with the other MOOClets after this one.

  • BJC.12x: Starting to Think Like a Computer Scientist and Develop Complex Programs . 7 weeks (5 weeks of curriculum, 1 week “fun programming” project, 1 week “research a computing innovation” project). CS Principles Big Ideas: Creativity, Abstraction, Algorithms, Programming, Global Impact
  • BJC.34x: Data, Information, the Internet, Recursion and Higher-Order Functions . 7 weeks (5 weeks of curriculum, 2 week programming project). CS Principles Big Ideas: Abstraction, Algorithms, Programming, Global Impact

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.

 

  • Instructor : Scott Bryan and video instruction by UC Berkeley Teaching Professor Dan Garcia
  • Project Managers : Lauren Mock
  • Technical Lead : Michael Ball
  • Auto-grading : Michael Ball (lead); Undergraduates, Tina Huang, Sahil Hasan, Mansi Shah
  • Course Builder : Michael Ball and Peter Sujan
  • Data and Analytics : Peter Sujan
  • Exams : Jeff Snowiss
  • Piazza Forums : Robert Low
  • SPOC Support : Lauren Mock
  • Videos : UC Berkeley Staff Eric Arvai, Undergraduates Lara McConnaughey (lead), Ginger Engel, Mridula Dilip, Jiachen Hu, Annie Lockmiller, and Emily Pedersen

During the fall when BJC.12x is running, the instructor and course TAs will be available on Piazza to moderate the forums. They will answer questions about the curriculum, help solve technical challenges, and participate in discussions.

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


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 two or three 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 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 Piazza Reading Discussion with your small group once per week. You are not required to make any other posts on Piazza, 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.  Scott Bryan will fascilitate 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 is a Lecture Quiz at the end of each short Lecture video.
    ● Lab Exercises can be completed on at any time. You are highly highly encouraged to complete lab work with a partner (you can find one on Piazza)! 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 have varying degrees of complexity, meant to illustrate and explore topics you’ve been learning. In BJC.12x, there are two homework assignments. You are encouraged to (verbally) discuss the homework with other students, but submitted work must be entirely your own . Please see the section on Academic Honesty which gives some details about collaboration.
    ● 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.
    ● There is one Midterm Exam given halfway through the semester and one Final Exam given at the end of the course that will test your knowledge of the course material.

8. Grading Policy
Your course grade is computed using a point system with a total of 100 points. The grade scale, as well as the breakdown of points per assignment can be found below. You can check your progress in BJC.12x by viewing the “Progress” tab on the top toolbar of the edX window. Assignments and grades will be regularly updated. You need to earn 50% of the points to earn a certificate. Every part of this course that counts toward your “grade” allows for resubmission , so if you didn’t get it right the first time, you can resubmit a corrected version later for full credit. We believe all of our BJC.12x learners can succeed, if they have the time and can put in the effort. So don’t worry about grades and enjoy the learning!

Activity  Value
Reading Quizzes and Piazza Discussions 7.5%
Lecture Quizzes and Surveys 7.5%
Homework - Word Guessing Game Part 1 7.5%
Homework - Word Guessing Game Part 2 7.5%
Fun Programming Project 7.5%
Explore Project 7.5%
Checkpoint Exam 7.5%
2nd Checkpoint Exam 7.5%
Lab Exercises and Quizzes 15%
Final Exam 25%
Total                                                            100%


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. There are more than ten thousand students in the class, and fewer than one
hundred TAs, so helping each other learn is the only way these massive courses scale.
When you have a question, first search Piazza (our course discussion forum) to see if your
question was asked before. If not, post your questions and make sure to select the
appropriate folder – that helps us direct the question to the appropriate TAs.

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 Piazza. For your homework and
exam, we expect you to hand in your own work. Do not post your solutions on Piazza. 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.

In terms of Forum Etiquette, we are “remixing” the policies of the Scratch Forums :

We need everyone’s help to keep BJC.12x a friendly and creative community where people with
different backgrounds and interests feel welcome.

● 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. (This will happen formally when you’re doing Peer Grading, but the
principle applies to any work from other students)
● Share. You are encouraged to remix projects from other students – and encourage you to
allow others to remix your projects. Be sure to give credit when you remix.
● Keep personal info private. For safety reasons, don't post contact info like phone
numbers or addresses. Everyone under the age of 18 needs to get permission from their
parent or guardian to share other information.
● 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.

We welcome people of all ages, races, ethnicities, religions, sexual orientations, and gender
identities.

10. Students Supplies:      

  • Flash Drive 8G or more
  • Earbuds/Headphones
  • Notebook
  • Pencils

 

ONLINE LEARNING PLATFORM

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

edX - 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 pages 14 -16 of your CATA student handbook regarding appropriate use of computer equipment/internet and consequences for misuse of both.

TUTORING

Students are required to attend mandatory tutoring for each class if grade drops below  “77”.  Tutoring is scheduled on Tuesday and Thursday 8:20 am – 8:50 pm.  Alternate and/or additional dates and times may be scheduled with teacher.

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 CATA 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

(Progress reports are issued in the middle of each 6 weeks period.   You may schedule an appointment for tutoring, if needed)

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

 

 

PARENT/GUARDIAN AND STUDENT SIGNATURE FORM

After reading and discussing the course syllabus and classroom procedures document with your son/daughter, please sign below, detach this page and return to the teacher.  Your prompt attention in this matter will ensure that your child is aware of what is required of him/her.  Thank you.

 

STUDENT:  I have read the course syllabus and classroom procedures document.  I understand what is expected and will honor these procedures.

 

 

Student Name:  ______________________________________________   Date:  __________________________

                                                (Please Print)

 

 

Student Signature:   __________________________________________   Date:  __________________________

 

 

 

 

 

PARENT(S):  My child and I have reviewed and discussed the course syllabus and classroom procedures document.  I understand and will support them.

 

 

Parent (Mother) Name:  _______________________________     Signature:        ________________________________                                                     (Please Print)

 

 

Email:  _____________________________ Contact #:  __________________________ Date:  ____________________

 

 

 

Parent (Father) Name:  _______________________________      Signature:        ________________________________                                                        (Please Print)

 

 

Email:  _____________________________ Contact #:  __________________________ Date:  ____________________

 

 

 

 

TEACHER:  I will be fair and consistent when administering consequences for those students not complying with classroom procedures.

 

Teacher Signature:  Scott J. Bryan                       Date: August 18, 2019                             .                                             Electronically signed

11. Last Words
We wish you the best of luck and hope that you have an amazing time in BJC.12x and BJC.34x. The
course is fun, as well as difficult, and sometimes it’s fun because it’s difficult!

 

Course Summary:

Date Details Due