Wiki Page, AP CSP: "Computer Science Principles" Course

Wiki Page
2016-07-21T11:18:32-06:00

Welcome to AP "Computer Science Principles" Course

Merced High School

adapted from

Sweetwater High School

Designed by Art Lopez

Created, Developed, and Based Upon Dr. Beth Simon's Alice-Based Curriculum for CSE3 (Computer Science and Engineering) Course

at the University of California, San Diego

and the College Board's Pilot AP CSP Curriculum Framework

Instructor: Mr. Joe Gaestel

High School: Merced High School

Room No: Room 221

Phone Number:

Email Address:

Why Learn About Computer Science?

Video from Code.org

What is this course about?

"You have used computers your whole life. Mostly you don’t even think about it. Your phone has several computers in it, your iPad, your Kindle, your TV, your car has several in it unless it is an antique, and on and on. Most devices with an on/off switch contain computers these days. And they continue to be more widely used – planes fly without pilots, vehicles can drive on highways autonomously, social media like Facebook and Twitter add features every month that allow new forms of interaction.

That list probably contains no surprises to you – it describes how the world is. You’re doing just fine with today’s technology. Luckily, this class is not about how the world is. The world will change. This class is about what you need to know for the world that has not yet arrived, and which you will create – regardless of your chosen major or intended career."

Written by Dr. Beth Simon, PHD Computer Scientist, UCSD

What does this course offer you?

In this course, you will gain the basic level of understanding of computers and computation that we think ALL college graduates and high school students should have – to be prepared to create the future. Last century, competence was defined by the three Rs: reading, writing and arithmetic. They are required to pursue a professional career in any discipline. This is the 21st century, and it’s clear that computing is poised to permeate not only our professional work, but also our society. So think of understanding and skills of computing as a fourth 'R', necessary for any discipline. After this class, you will stand out from other college and high school graduates in your preparation to work with new technologies of the future.

Students who previously took the course described some of the following things they got out of it:

Confidence: “It has given me confidence that I'm able to figure things out on a computer that I never would have thought that I could do.”

View of Technology: “Now, every time I find myself playing a video game, I actually understand what makes it work. That these games are not magically produced, that it takes time, skill, and sufficient funds to create these games. I appreciate these games more than before taking this class.”

Analysis Skills: “Programming allows a person to think more logically, thinking in order and debugging allows the user to gain valuable problem solving skills. Aspiring to go to law school, thinking logically is extremely important and I think this has helped.”

Communication Skills: “In today’s technologically-centered world, using a program like Alice gives us valuable exposure to discussing things technically with other people and explaining clearly what we are trying to do.”

Organizational Skills: “Through Alice, I learned to stay organized and structured in anything I do, including studying for other classes. Although at first, thinking with several concepts at a time was very difficult, now I am more confident.”

What will this course teach you?

The pilot AP Computer Science Principles course is designed to teach you computational thinking and computing skills. This course will teach you how to think!

Additionally, you will gain an understanding of the real-world impact of computing applications and programming literacy.

AP Computer Science Principles is designed to also introduce to you the central tenets of computer science. This course focuses on the innovative aspects of computing as well as the computational thinking practices that helps students see how computing is relevant to many areas of their everyday lives.

You will learn the following in this course.

Computational Thinking Practices

1. Connecting computing

2. Creating computational artifacts

3. Abstracting

4. Analyzing problems and artifacts

5. Communicating

6. Collaborating

Big Ideas

1. Creativity

2. Abstraction

3. Data and Information

4. Algorithms

5. Programming

6. The Internet

7. Global Impact

You will learn how to write instructions for the computer to perform a certain task. By learning to control the computer through a basic programming language, you will get the opportunity to develop skills that will enable you to deal with general issues on the computer – in any area.

Why do you have to “learn to program”, when you may never program again in your life? Programming is actually the simplest manner in which to deal with a computer. Comparably, other applications you use (Photoshop, Word, Facebook, Picasa, etc.) are much more complex.

We want you to start with a simpler model, one more in your control, to gain the basic understanding of how computers work. At the end of the term, you’ll then explore one application – Excel – to practice applying your new knowledge in a specific context. Then, in the future, no matter what new application you use, you can apply that knowledge to figuring it out and making it work for you.

How will the you (and the teacher) know if you are making progress in your learning?

The course offers you a number of opportunities to get feedback on whether you are learning what you need to know. Learning computing isn’t done by reading about it. Moreover, we care more about your development of analysis and communication skills regarding computing than whether you can “just do it”. For each topic, you will be able to get practice and feedback in the following ways:

Exploratory modules and projects with on-line book: You will complete exploratory projects based on modules that guide you in understanding a topic by creating programs on the computer to get the basics down.

Guided Practice Assignments: The instructor, your classmates, and you will work on creating projects together in the computer lab based on the topic you are learning. This will reinforce the computing principle you are learning from the exploratory modules in the on-line book.

Independent Assignments Lab: You will be expected to demonstrate your mastery of the concepts from the on-line book modules by completing labs and projects. You are expected to come prepared to lab -- having done the relevant exploratory projects and assignments and having engaged with and learned the material in lecture and on-line modules. You are expected to complete your lab during the session, but you will be able to get assistance from not only tutors, but your fellow students. Labs and projects will be posted in advance and you are encouraged to look over them before you come to lab.

Quizzes (Google Quiz Questions): At the beginning of lecture, you will take a quiz answering a few basic questions from the homework – this is your incentive read the on-line book to do the exploratory projects and provide feedback to you on whether you are ready to attend lecture.

Discussion Peer Instruction Questions (Google Quiz Questions): During lecture, you will deepen your understanding of computing concepts and develop technical analysis and communication skills by discussing challenging questions in a team of three students, guided by the instructor.

Technology and Society: You will be given various activities exploring issues on involving technology and society. These activities will require you to use discussion forums, Internet resource finding/analysis, and wiki development.

Midterm and Final: a midterm and final will be given in order for you to demonstrate mastery of the topics and concepts presented in class.