Boise State –Skyview HS

Computer Science Principles 101- 2 Credits

Course Syllabus



Instructor:  Bob Williamson                       Rm. G 201               Email:


Course Description:  INTRODUCTION TO COMPUTER SCIENCE PRINCIPLES. Introduction to the central ideas, practices and impact of computer science and computational thinking. Covers the seven big ideas in computer science: creativity, abstraction, data and information, algorithms, programming, the internet and global impact. Computational thinking practices: connecting computing, creating computational artifacts, abstracting, analyzing problems and artifacts, communicating, and collaborating.  PREREQ: Credit earned in Algebra 2.


Philosophy: Students will be provided with an environment that is conducive to learning.  Students will look forward to coming to class every day.  As a teacher I will do my best to prepare each individual for their future. 


Student Learning Goals:

Using a project based learning environment, by the end of the course, students will successfully complete the following learning objectives:

  • Identify and discuss the seven Computer Science Principles: Creativity, Abstraction, Data and Information, Algorithms, Programming, The Internet, and Global Impact.
  • Understand and apply the six Computational Thinking Practices: Connecting Computing,
  • Creating computational artifacts, Abstracting, Analyzing problems and artifacts, Communicating, and Collaborating.
  • Develop programs in one visual and one text-based language.


Class work:

  • Students will have the opportunity to complete many assignments in class in the form of journal writing, individual or group preparation, research, collaborative problem-solving, notebook check or any other work that is to be completed in class.
  • Quizzes and Tests are to measure student mastery of computer science terms. Students may follow their own progress and success.
  • Frequently, students will work in groups to complete projects according to the information sheets provided with each project. These will include presentations, posters, designs, and final products.



  • Pen/Pencil
  • Paper
  • 80(+) page spiral notebook for taking notes/journaling
  • Headphones (optional)
  • Flash drive (optional)





  • AppInventor 2: Create Your Own Android Apps. David Wolber, Hal Abelson, Ellen Spertus & Liz Looney (PDF version available for free online)
  • Getting Started with Processing. Casey Reas & Ben Fry.
  • Blown to Bits: Your Life, Liberty, and Happiness After the Digital Explosion. Hal Abelson, Ken Ledeen, Harry Lewis. (PDF version available for free online)


Course Outline of Topics Covered:

  • Weeks 1 & 2
    • What is Computer Science?
    • What are Computer Science Principles?
    • Blockly Maze
  • Weeks 3 - 5
    • Introduction to AppInventor
    • Setting up AppInventor
    • Tutorials: HelloPurr, PaintPot, MoleMash
  • Weeks 6 & 7
    • Mobile Apps and Mobile Devices: the Hardware/Software Interface
    • Abstraction
    • Binary numbers
  • Weeks 8 & 9
    • Further AppInventor tutorials:
      • Compass App
      • TalkToMe (part1, part2)
      • Magic 8-Ball
    • Weeks 10 & 11
      • Hardware and Software Abstractions: A Second Look
      • AppInventor Tutorial: Paris Map Tour (metro.jpg)
      • Representing Images
        • Short video on Run-Length Encoding from CS Unplugged
      • Weeks 12 & 13
        • Error Detection using the Parity bit
          • Short video on Error Detection Trick from CS Unplugged
        • Further discussion of Error detection and correction
      • Week 14 - 16
        • Simulation and Modeling
        • AppInventor: Coin Flip Tutorial
        • AppInventor: Coin Flip Simulation
      • Databases
      • Persistent data in local database. Tutorial: MoleMash with Tiny DB
      • Persistent data in a web database. Tutorial: MoleMash with Tiny Web DB
        • (For Instructors) How to create your own web database on Google Apps servers. This service is free on a small scale but it does require a credit card to get started.
      • Week 17 & 18
        • Lists
          • Tutorial: President’s Quiz
          • Tutorial: President’s Quiz (Take 2)
          • Tutorial: TinyDB Demo: uses lists and images to show further database capabilities
        • Introduction to Algorithms



  • Weeks 19 & 20
    • Search algorithms: sequential search, binary search.
      • Search Experiment App.
      • How Google search works.
    • Sorting algorithms: Bubble sort, Merge Sort, Bucket Sort, Bogosort
      • Sorting algorithms visualization
      • Sound of sorting Algorithms
    • Week 21 & 22
      • Analyzing Algorithms.
      • Limits of Algorithms.
        • P versus NP: Intractable Problems (video)
      • Weeks 23 -28
        • Introduction to Processing
          • Shapes, Variables, Loops, Functions, Animations, Arrays
        • Create several processing Sketches in class
      • Week 29 & 30
        • Internet
          • Networks: IP Addresses and DNS (video)
          • What is the Internet
          • How the Internet works
          • Internet: Packets, Routing and reliability (video)
          • Cryptography, Part I
          • Cryptography, Part II
        • Weeks 31-35
          • Review and project work
          • Final Exam


Programming Projects

There are two main projects in the semester.

  • Project 1: Students develop an Android App of their choosing that showcases various Computer Science principles. This project is in two parts.
  • Project 2: Students develop a simulation that uses visualization in Processing or EarSketch. Students are required to submit individual programming projects but are able to collaborate on the development of their programming projects.
    • Programs must be submitted by midnight the day they are due. Late programs are subject to a deduction of 10% every 2 days from the maximum possible score (e.g. a perfect program is worth 100 points if submitted before midnight and is only worth 90 points at 12:00 AM the second day). Programs will not be accepted more than 4 days late.


Reading Assignments and Reflections

Students will read various Chapters from the Blown to Bits books and write their reflections on

the questions posed by the instructor.

            Reading Assignments and Reflections will be due by midnight the day prior to the class discussion.  Late submissions will not be accepted.



Students will develop several small programs and run experiments throughout the semester to

enhance their understanding.




Grading Procedures: The grade distribution is as follows: Class work/ Participation: 20% Tests: 20% Projects: 60%

  • A – 90% and above
  • B – 80% -89%
  • C – 70% - 79%
  • D – 60%- 69%
  • F – 59% and below


Classroom Rules:

  • Respect yourself
  • Respect your fellow students’ right to learn
  • Respect the teacher’s right to instruct
  • Respect the school / classroom equipment. 


Classroom Discipline:

  • First offense:  The student will be warned about his/her inappropriate behavior.
  • Second offense:  Time spent with teacher/detention
  • Third offense:  Student will meet teacher to discuss his or her inappropriate behavior.  Parent(s) / Guardian(s) will be contacted
    • If the student’s behavior severely disrupts the classroom learning environment, he/she will be sent directly to administration.


Academic Honesty

Students are expected to work on their own unless explicitly instructed otherwise. Students who

copy from each other or from any other source on assignments will be considered to be cheating as

will students who allow their work to be copied. This includes trying to find answers to problems or

programs from the Internet or other sources (and uploading your completed assignments to Internet

sites that are publicly accessible).

The official University Academic Dishonesty Policy (reproduced below) may be found at


Additional Instruction:

Students in need of tutoring or extra help are welcome to schedule a time to meet with the teacher. 


Dear Parents/ Guardians:

Please take a moment to read this class guide with your student.  After you have reviewed the information, please sign and return this form.  Your student will receive credit for the prompt return of this paper.  I look forward to having a great year and hope all students will be successful.


Thank you,

Bob Williamson


Student Name: ___________________________________________


Student Signature:   ________________________________________


Parent / Guardian Signature:   ________________________________________


Parent / Guardian Contacts:

Email: _______________________________________________


Daytime phone:  _______________________________________