Exploring Computer Science-Period 3 (Period 3) Assignments
- Instructor
- Mr. Shawn Keys
- Term
- 2017-2018 School Year
- Department
- Computer Science Department
- Description
-
Exploring Computer Science introduces students to the breadth of the field of computer science through an exploration of engaging and accessible topics. The goal of Exploring Computer Science is to develop in students the computa- tional thinking practices of algorithm development, problem solving and program- ming within the context of situations or scenarios that are relevant to the lives of today’s students. Students will also be introduced to topics such as interface design, limits of computers and societal and ethical issues. There are three underlying themes: 1. The creative nature of computing 2. Technology as a tool for solving problems 3. The relevance of computer science and its impact on society Course Objectives: The course is divided into the following units: 1. Human Computer Interaction: Students are introduced to the major components of the computer, including: input, output, memory, storage, processing, software and the operating system. Students consider how Internet elements (e.g. email, chat, WWW) are organized, engage in effective searching and focus on productive use of email. Fundamental notions of Human Computer Interaction (HCI) and ergonomics are introduced. Students learn that “intelligent” machine behavior is not “magic” but is based on algorithms applied to useful representations of information. Students learn the characteristics that make certain tasks easy or difficult for computers and how these differ from those that humans characteristically find easy or difficult. Students gain an appreciation for the many ways (types of use) in which computers have had an impact across the range of human activity, as well as for the many different fields in which they are used. Examples illustrate the broad, interdisciplinary utility of computers and algorithmic problem solving in the modern world. 2. Problem Solving: This unit covers the basic steps in algorithmic problem-solving, including the problem statement and exploration, examination of sample instances, design, program coding, testing and verification. Tools for expressing design are used. This unit also includes selected topics in discrete mathematics including (but not limited to) Boolean logic, functions sets, and graphs. Students are introduced to the binary number system. Stu- dents construct complex expressions based on fundamental Boolean operations and learn how to relate the mathematical notion of functions to its counterparts in computer programming. They learn basic set theory and its application in computer science. Stu- dents are introduced to graphs using puzzles. Suitable exercises are presented that illustrate the value of mathematical abstraction in solving programming problems. 3. Web Design: This section prepares students to take the role of a developer by expanding their knowledge of programming and Web page design and applying it to the creation of Web pages, programs and documentation for users and equipment. Students learn to create user-friendly manuals, Web sites and program interfaces. Students apply fundamental notions of Human Computer Interaction (HCI) and ergonomics. Code documentation and hardware and software limitations are also explored. The notions of hierarchy and abstraction are central to computing. They are crucial to the translation between machine code and a user-friendly interface, to creating reusable code and to the design of software that is broadly applicable rather than solving only a narrowly defined problem. This unit makes these abstract ideas concrete by focusing first on real-life (non-computing) examples and then on the specific uses of hierarchy and abstraction in computer science. 4. Programming: Students are introduced to some basic issues associated with program design and development. Students design algorithms and programming solutions to a variety of computational problems, using Scratch. Programming problems should include control structures, functions, parameters, objects and classes, structured programming and event-driven programming techniques. This unit introduces data structures, including arrays, vectors, stacks and queues, and their associated components, operations and uses. Benefits and limitations of different data structures are presented. The concept that analysis and understanding of data structures can be used as a fundamental organizing principle in the design of solutions is explored. 5. Computing and Data Analysis: In this unit students explore how computing has facilitated new methods of managing and interpreting data. Students will use computers to translate, process and visualize data in order to find patterns and test hypotheses. Students will work with a variety of large data sets that illustrate how widespread access to data and information facilitates identification of problems. Students will collect and generate their own data related to local community issues and discuss appropriate methods for data collection and aggregation of data necessary to support making a case or facilitating a discovery. 6. Robotics: Students apply previously learned topics to the study of robotics and work in small groups to build and program a robot to perform a required task. Students make use of a programming language to control the behavior of these robots in dynamic envi- ronments. As a class (or a district), they will test out their robots under a specific set of circumstances in a robotics competition.
Files
Upcoming Assignments
No upcoming assignments.
Past Assignments
Due:
Assignment
Due:
Assignment
You will take your final exam today. It is a review of the entire year minus robotics: Human-computer interaction; Problem-solving; HTML/CSS web design and Scratch programming. Be prepared to ask any questions you’d like about the content of the exam before we take it. Afterwards, you may work on any missing or failed assignments. Feel free to ask me to show you your grades in case you are confused about where you stand.
Due:
Assignment
https://www.hancockhs.org/apps/pages/index.jsp?uREC_ID=1055907&type=d&pREC_ID=1419457
Due:
Assignment
In preparation for your presentation today, download the Robot Dance Cover Sheet and fill it out. For Robot, you choose the name of your robot. For Team, list the names of the people in your group, pair or just your name if you worked individually. For Song and Period...need I explain? This cover sheet will be held in front of the camera before your dance begins. It will also be the cover sheet for the packet that EACH of your group/pair members will submit.
Make sure you also print out a copy of your Robot Dance Program. Just go to the File menu when your program is displayed in Lego Mindstorm and choose Print. SELECT LANDSCAPE!!!!!!!!!!!!! Again, EACH of your group/pair members will need a copy to submit with your Robot Dance packet.
Finally, one person in your team must film and send me a copy of the film. Please send it to my gmail account ([email protected]). In the subject line, list the names of ALL the people in your team - Robot Dance - Period #. If I do not get a film, all I can do is grade you 50% for the fact that I saw something...but had nothing to review later.
Each person will fill out a Robot Dance Project Reflection. This is where you rate your team members. If I do not receive a Robot Dance Project Reflection, you will receive a zero for the project and associated standard. There is no need to print out the reflection sheet: I have copies. This will be attached to your Robot Dance submission packet.
The rubric is also attached in case you'd like to review the grading scheme. Print out a copy only if you'd like to assess yourself. You may attach it to your reflection (with tick marks and commentary) if you'd like me to think twice about your efforts and finished work.
The window for sending me a music clip is now closed. If you used alternate music and did not send me a clip, I will simply play 'In The Mood'.
Due:
Assignment
Due:
Assignment
Due:
Assignment
Due:
Assignment
Due:
Assignment
Due:
Assignment
Due:
Assignment
Due:
Assignment
Due:
Assignment
Due:
Assignment
Due:
Assignment
Due:
Assignment
- Programming Algorithm
- The Scratch Custom Block
- The Scratch Ask Block and Answer Variable