Curriculum • Pedagogy A set of objectives or student learning outcomes for a course or a set of courses. Specifies the set of concepts and skills that the student must learn i.e. what will be taught Teaching strategies that will be used to communicate the concepts to the students and ensure their mastery i.e. how the concepts will be taught
Curriculum The ACM curriculum for K-12 Computer Science • A curriculum framework that identified the primary concepts that must be taught in K-12 • A bi-level structure consisting of • A set of concepts to be interwoven in all subject areas in K-8 • A set of three formal high school courses focusing exclusively on computer science
Pedagogy • Exploring Computer Science • Gaming • Media Computation • Storytelling with Alice
Exploring Computer Science • Appropriate for K10-12. • Develops high-level computing skills. • Real world, socially relevant, interdisciplinary, and creative applications. • Provides teachers with: • Instructional curriculum material and teacher’s guide. • Professional development. • A coaching program. • Becoming a part of a learning community.
Exploring Computer ScienceScope and Sequence • Human computer Interaction • Problem Solving • Web Design • Programming • Computing and Data Analysis • Robotics
1. Human Computer Interaction The student will be able to: • Analyze the characteristics of Hardware components to determine the applications for which they can be used. • Use appropriate tools and methods to execute internet searches which yield requested data. • Evaluate results of web searches and the reliability of information found on the internet. • Explain the differences between tasks that can and cannot be accomplished with a computer. • Analyze the effects of computing on society within economic, social, and cultural contexts. • Communicate legal and ethical concerns raised by computing innovation. • Explain the implications of communication as data exchange..
2. Problem Solving The student will be able to: • Name and explain the steps used in solving a problem • Solve a problem by applying appropriate problem-solving techniques • Express a solution using standard design tools • Determine if a given algorithm successfully solves a stated problem • Create algorithms that meet specified objectives • Explain the connections between binary numbers and computers. • Summarize the behavior of an algorithm • Compare the tradeoffs between different algorithms for solving the same problem • Explain the characteristics of problems that cannot be solved by an algorithm
3. Web Design The student will be able to: • Create web pages to address specified objectives • Create web pages with a practical, personal, and/or societal purpose. • Select appropriate techniques when creating web pages. • Use abstraction to separate style from content in web page design and development. • Describe the use of a website with appropriate documentation.
4. Introduction to Programming The student will be able to: • Use appropriate algorithm to solve a problem. • Design, code, test, and execute a program that corresponds to a set of specifications. • Select appropriate programming structures. • Locate and correct errors in a program. • Explain how a particular program functions. • Justify the correctness of a program. • Create programs with practical, personal, and/or societal intent.
5. Computing and Data Analysis The student will be able to: • Describe the features of appropriate data sets for specific problems. • Apply a variety of analysis techniques to large data sets. • Use computers to find patterns in data and test hypotheses about data. • Compare different analysis techniques and discuss the tradeoffs among them. • Justify conclusions drawn from data analysis.
6. Robotics The student will be able to: • Identify the criteria that describe a robot and determine if something is a robot • Match the actions of the robot to the corresponding parts of the program • Build, code, and test a robot that solves a stated problem • Explain ways in which different hardware designs affect the functions of a machine. • Describe the tradeoffs among multiple ways to program a robot to achieve a goal.
Gaming • Building upon students’ fascination with computer gaming to create engaging environments for computer science concepts. • Teaching and learning of fundamental concepts can be embedded in hands-on problem-solving and design activities focused on designing and building a game. • A more thorough understanding of the algorithms, data structures, and other topics in computer science could be achieved while students are engaged in active learning. • Game Maker software provides an environment that is intuitive and easy to use that introduces students to programming using an objects-first approach. It allows developing games without previous programming background; including a “drag-and-drop” interface that is used to define objects and their actions.
Media Computation • Writing programs that manipulate pixels and samples to create images, sounds, and animations • Media computation materials have now beendeveloped for use withPython, Alice, and Java,and for introductory computing and data structures classes. • Classes using Media Computations address the same concepts as more traditional versions, but using media as the focus
Storytelling with “Alice” • Used as the basis for the creation of innovative curriculum for teaching introductory computing courses. • The context of animation is used to excite students about the possibilities of computing. • Students author their own 3-D animated movies and design and build their own 3-D interactive games as they learn to program. • Allows students to create programs using “drag-and-drop” editor. • “Alice” software allows students to test their algorithms visually.
URLs • Exploring Computer Science: http://csta.acm.org/curriculum/sub/ExploringCS.html • Game Maker: http://www.yoyogames.com/ • Media Computation: http:// www.mediacomputation.org • Alice: http://www.alice.org