Welcome to Computer Science Principles! The first lesson is about getting students excited about the course and connecting their own personal interests to computer science. Students are asked to share something they know a lot about and teach it to a small group. For the Wrap Up, students watch a brief video about computing innovations, and the lesson ends with students answering a brief prompt about what "computer science" means to them.
- Innovation: A new or improved idea, device, product, etc., or the development thereof
Students will be able to:
- Communicate with classmates about computing innovations in their lives.
- Describe positive and negative effects of computing innovations.
This activity plants the initial seed for students to think about the ways in which they might be able to solve some problems relevant to their lives with technological innovations. The AP CS Principles framework describes 6 Computational Thinking Practices that need to be evident in the course. This first lesson is more about beginning to engage with those practices - beginning to think, act, and behave like computer scientists. In particular, the practices in which students should be engaged in this lesson are:
- P1: Connecting Computing: Describe connections between people and computing.
- P5: Communicating: Describe computation and the impact of technology and computation.
- P6: Collaborating: Foster a constructive, collaborative climate by facilitating the contributions of a team member; exchange knowledge and feedback with a partner or team member.
Collaboration is very important in coding. Computer programmers often work in groups to complete a project and meet a goal. Every person, just like on any team, brings certain strengths.
- Think about something you could teach to someone. It doesn't have to be something from school. Any topic you like and feel you know a lot about is great. In the format of your choice, write down this topic.
- Next, write down how you might teach someone about this topic. If you are working on this lesson in a class or with a group, take turns each talking about and explaining your topic, or "area of expertise!"
People seem to say that technology is all around us and that it affects everything we do. Is that true? Technological innovation is about recognizing a problem that needs to be solved, or recognizing that something needs improving and then building a tool to solve it. As a class we're going to see how innovative we can be.
- Write down a way that technology is used with or affects the area or thing you talked about before in Getting Started. If working with a group, you can discuss this.
- Next, we're going to brainstorm. Write down or discuss with others a way that technology might be improved to make it better, faster, and/or easier to use.
- If working with a group, decide which idea you think is the best and breifly present it to the class.
In computer programming we often work as a group just like this. We collaborate and brainstorm and try to figure out how technology might solve a problem or make something easier and more efficient. We each bring our own interests, perspective, and skills to programming!
Welcome Students to the Course
Take this opportunity to explain the importance of bringing individual interests and perspectives to this course. Students are not only encouraged to find areas of personal interest in this course, it is actually mandated as part of the Performance Tasks. From day one, students should be thinking about how to apply the principles they learn to their own lives, and hopefully they will be excited to do so. Consider some of the following remarks to contextualize this activity and build excitement about the rest of the year.
- We are just starting this class, but you all bring passions and knowledge about things you care about. And whatever those things are it is likely (if not inevitable) that they involve computing technology in some way.
- This class is about the principles of computer science. The principles that underlie much of the technology around us. The reason this class exists is because not enough people in our school/town/city/country/world know or understand things about computer science. Not enough people know the basics that you need to know to be able to see where you can make a difference. Not enough diverse views, interests, opinions exist among the people who do more than use technology - they create new technology
- This class is about taking a step in that direction. Your job as a student in the class is to be on the lookout, to be alert, for where and how computer science affects or impacts the things you care about, the things you know about. Whatever it is you want to do in your life, it's pretty likely that technology affects it in some way, or that some technological innovation is called for. In fact, for the AP assessment you must create an app that reflects a personal interest or problem you're trying to solve. You must also explore a technological innovation and write about it.
- Don't worry, we'll practice these things, and through the course you'll learn about the principles that underlie all this stuff. The way the class works, we often ask you to invent your own solution to problems. Even if it's a problem that's been solved before, thinking like a computer scientist is a different mindset to be in.nWe study a lot of things in this class not only because it's foundational knowledge, but because of the way it makes you think, they way it asks you to solve problems, on your own or in collaboration with others. Inventing things, and having insights about how things work, and how they might work better is what this class is about. Everyone has the ability to contribute. Everyone has unique insights into something. Whatever it is you care about, whatever it is that makes you different, is the value you bring to the class. Everyone is unique, but we're all in this together.
Next, we're going to listen to a video that talks about how technology affects every area of our lives. After the video, students will complete a short reflection activity
Reflection: Starting Out in Computer Science
Computer science has changed the way we communicate with each other, make art and movies, grow food, and even treat illnesses. Everyone can learn computer science and make a difference.
Quotes from Students
Still, we understand that taking a computer science course can be difficult at first. Here are a few student quotes describing their strategies and tips for taking this course. Please read the quotes carefully and respond to the prompt below.
"At the start of the class I worried that I was different from the other students. I wasn't sure I fit in – I worried that I couldn't do it and that the teacher and other students would look down on me. A few days after I started, I realized that almost everyone who takes the class isn't sure if they fit in at first. It's something everyone goes through. Now it seems ironic – everybody feels different at first, when really we're all going through the same thing." -Sofia P. (age 16)
"I loved this computer science class! I've met some cool people and learned a lot. But it was a difficult transition. The first few days I was intimidated and not sure why I should learn computer science. Why would I need it? But then we talked in class about things I'm interested in, like music and design, and I realized that I can learn how to do cool new things. I had the wrong picture in my head about CS, it's actually very creative! I just had to be patient and find ways to connect the class to what I really care about." -Jasmin D. (age 17)
"I didn't have any experience with code, and I worried that I was not prepared for this class. Other students did some programming at home or in summer camps. On my first day, I was so nervous about getting bad grades and looking stupid. But then, I started to feel better – I talked with other students and enjoyed the class more. I became more comfortable asking for help when I had a problem. It turned out that the students with CS experience had the same issues as me! Hah, it took some time, but now I really feel like I belong in CS class." -Sam J. (age 17)
Reflect and Summarize
Now consider the above strategies and insights about how to learn best and respond to the prompt below.
- What are your own strategies and insights about how to learn best? And, how are they similar or different to the ones that you just heard about from other students?
Please write a short paragraph in whatever format you choose. Don't worry about spelling, grammar, or how well written it is. You may require students to complete it, but students should not be graded on their responses; it should be clear that they are free to write anything they want, and any amount short or long.
- 1. Select an innovation. Describe the positive and negative impacts it has had on the world. (A satisfactory answer reflects awareness and analysis of the effects on populations beyond the students’ immediately locale)
- 2. Speculate on how students 25 years from now will answer, "What computing innovation has had a significant impact on your life?" (A satisfactory answer includes a non-trivial consideration of how technology will likely change from, and perhaps build upon, what is currently available)
- Ask students to think about how the adults in their lives might answer the question, "What computing innovation has had the most significant personal impact on your life?"
- To reinforce visual learning, suggest that students create time-lines showing the years when the various innovations they hear about from other adults were invented or became available to consumers.
- Blown to Bits
- Read Blown to Bits - Chapter 4, Needles in the Haystack, pages 141-142 (Placements, Clicks, and Auctions), then answer the following question about innovation: Discuss the positive and negative results of Overture's three search engine innovations. How did those innovations turn out today?
- CSTA K-12 Computer Science Standards (2011): CI.L3B:2, CI.L3B:4
- Computer Science Principles: 7.1.1 (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)
- Computer Science Principles: 7.2.1 (A, B, C, G)
- Computer Science Principles: 7.3.1 (A, B, C, D, E, G, H, I, J, K, L, M, N, O)
- Computer Science Principles: 7.4.1 (A, B, C, D)