The High School Computing Course

Slides:



Advertisements
Similar presentations
DATA PROCESSING SYSTEMS
Advertisements

They’re Computer Savvy, Right? Well, Maybe…
CSTA K-12 Computer Science Standards (rev 2011)
Standards Alignment A study of alignment between state standards and the ACM K-12 Curriculum.
Computer Literacy What will this mean in 2005? Helen Wolfe, Professor of CIS, Post University.
Science Inquiry Minds-on Hands-on.
How the Social Studies Interns are Viewed by their Mentors Going Public Presentation Mike Broda, Mark Helmsing, Chris Kaiser, and Claire Yates.
Computer Concepts – Illustrated 8 th edition Unit C: Computer Software.
* Research suggests that technology used in classrooms can be especially advantageous to at-risk, EL, and special ed students. (Means, Blando, Olson,
Presenter’s Guide to Multiple Representations in the Teaching of Mathematics – Part 1 By Guillermo Mendieta Author of Pictorial Mathematics
Teaching and Learning with Technology to edit Master title style  Allyn and Bacon 2002 Teaching and Learning with Technology lick to edit Master title.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
CS & IT Symposium 2001June 24, 2001 The High School Computing Course J. Philip East University of Northern Iowa.
Understanding Computing and Programming at KS2 Debs Ayerst.
Allison Wurgler, Erin Steinberg, and Anna Kvidt.  Digital storytelling is the practice of combining narrative with digital content, including images,
8/23/ th ACS National Meeting, Boston, MA POGIL as a model for general education in chemistry Scott E. Van Bramer Widener University.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Some Suggestions for Improvement
Introduction to Computing Systems
Using a Growth Mindset to Help Our Students Succeed
Creativity of Algorithms & Simple JavaScript Commands
Introduction To DBMS.
Data Collection with Forms For Special Education
Algorithms and Problem Solving
Bloom’s Taxonomy Investigating Cognitive Complexity
Preparing Girls for IT Jobs
Using Cognitive Science To Inform Instructional Design
Big Ideas & Problem Solving A look at Problem Solving in the Primary Classroom Lindsay McManus.
Welcome back Year 12 from Computer Science Department
Chapter 4: Application Software
CSC 221: Computer Programming I Spring 2010
Beyond NCEA Level 1 Literacy
Planning for Learning: Planning with the End in Mind
Effects of Targeted Troubleshooting Activities on
Software Documentation
USING ESSENTIAL QUESTIONS AND DEVELOPING CRITICAL THINKING SKILLS IN THE CLASSROOM Presented by: Sabrina Symons.
Year 7 E-Me Web design.
THE QUESTIONS—SKILLS ANALYSE EVALUATE INFER UNDERSTAND SUMMARISE
Introduction CSE 1310 – Introduction to Computers and Programming
Integration of ICT in teaching and learning
Meredith A. Henry, M.S. Department of Psychology
CDA 3100 Summer 2011.
Information System and Management
Your Inquiry Project
Building Community within the Mathematics Classroom
Before we get started You will need the following apps downloaded to your mobile device: Microsoft Translator Office Lens  This matches with Engage section.
Teaching with Instructional Software
Reflective Assessment in Computing Instruction
System And Application Software
My Learning Philosophy
Administrative Software
Purdue Electronic Portfolio
UNIT 3 CHAPTER 1 LESSON 4 Using Simple Commands.
Mastery at Hillyfield.
CDA 3100 Spring 2010.
UDL Guidelines: Examples and Resources Cynthia McCoy EDU620 Sherry Leialoha-Waipa 12/6/2018.
The curriculum The curricullum tells «What and how the learners should learn» at specific levels of the education system. It includes the objectives and.
Algorithms and Problem Solving
Tonga Institute of Higher Education IT 141: Information Systems
K–8 Session 1: Exploring the Critical Areas
Higher Order Learning Fluency vs Literacy.
Computer Literacy BASICS
Software and Software Engineering
2018 Virginia Science Standards of Learning
Chapter 2 Applications Software and Operating Systems
Claim 1: Concepts and Procedures
mastery Maths with Greater Depth at Rosehill Infant SCHOOL
Exploring the Instructional Shifts Inherent in the 2020 CAS
Presentation transcript:

The High School Computing Course Hi. I am Philip East. I teach, and think about teaching, computer science at the University of Northern Iowa. I want to suggest something slightly different than what Chris has been discussing. Chris has been talking about a computer science curriculum—what you might do with/for students over several years. Where I come from, we are lucky to have a one semester course on computing in the high school. Often., I think, that ends up being just another rehash of applications. I want to suggest an alternative that I think we should give strong consideration to, at least for schools in which there cannot be a planned progression of multiple computer science courses. That would be a single course. J. Philip East University of Northern Iowa 1

It is important that students leave high school understanding computing! As important as understanding physics, chemistry, biology, history, government, mathematics, and (maybe) writing and reading. Today, computing is encountered in significant ways in all aspects of our lives—work, entertainment, communication, home. At a manufacturing plant near me, the forklift driver has to be more comfortable with computing than our college graduates. We encounter questions & issues more for computing than for any other subject taught in high school. We use computing knowledge and skill more than the knowledge and skill of those other subjects, except perhaps reading and writing. With the advent of voice understanding and translation, how much longer will we even know how to read and write. I do not mean to belittle the other disciplines or to suggest that changes can, will, or should occur. EXCEPT, I am suggesting that there should be a general computer science course in high school like there is a general science course, a general math course, a general writing course, etc. If our students do not leave with a good skills and understanding RE computing they will find more closed doors than open ones. 2

Recommendation for A High School Course in Computer Science Follow the Fluency Report Its major recommendations Concepts Skills Intellectual Capabilities Project-based Learning I am suggesting one course, if you are not able to offer the whole gamut of courses Chris suggested. Students should be required to take several years of CS or the one general CS course. I think that course should follow the Fluency Report. That report suggests we address not only on skills but also the enduring concepts of computing. Additionally, we should have students exercise and enhance their general intellectual capabilities by having them work on big ideas through project-based instruction & learning. I, of course, have some further suggestions/information. The framers of the report (a bunch of high-power CS & IT academics and business folks) identify skills, concepts, and intellectual capabilities they think should be addressed in the course. As a practical matter (you have to start and stop at some number) they selected 10 items in each category.

“Ten” Concepts How computers work ?Information systems? How networks work Digital representation of data & information Information storage & retrieval Problem representation & abstraction Algorithmic thinking & programming ?Universality? Limits of comuting Social impact The “concepts” are enduring. They should remain constant over a long period of time. While the committee preparing the report suggests these 10 concepts, it seems to me that the key idea is that one identify and address particular concepts believed to constitute the big ideas in the field. ANY QUESTIONS RE “these” concepts, ** how computers work relates mostly to the CPU level (particularly the machine cycle) and relationship between CPU & peripherals ** information systems shows the big picture: hardware, software, people, processes, storage, security, etc. ** networks includes physical and logical aspects or low-level details such as packets, routing, etc. and high-level concepts such as client/server, standards, network services, etc. Also, the utility of networks over single machines. ** digital representation of information relates to binary encoding of all kinds of computer data—numbers, text, audio, graphics, animation, etc. Also, precision, conversion, resolution, compression, encryption, etc. ** information organization addresses storage (structure, organization, etc.), retrieval (locating, accessing, etc.), and judging quality of storage, retrieval, & the data itself) ** modeling and abstraction refers to methods and techniques for representing problems to be solved in abstractions (equations, relations, etc.) that can eventually be converted to digital format. Capabilities and limitations of modeling and abstraction is also addressed. ** algorithmic thinking and programming ** universality—”any computational task can be performed by any computer” ** limitations of information technology includes limits due to algorithm complexity and inability to unambiguously represent problems (computers do not posses intuition, creativity, etc. ** social impact—TECHNICAL basis for social concerns Re privacy, intellectual property, security, encryption, electronic data collection, nettiquette, spamming, free speech on internet, etc. I personally believe “information systems” can/should be covered under social impact and universality is appropriately discussed with limitations of information technology. Overall, though, the big ideas about computing seem to be covered here.

“Ten” Intellectual Capabilities Engage in sustained reasoning Manage complexity Test a solution ?Manage faulty solutions? Find/use information Collaborate Communicate with other audiences Expect the unexpected Anticipate new tech. Think about IT abstractly Again, 10 is not a magical number nor should you (in my opinion) necessarily accept these categories or their definitions as being carved in stone. They should, however, be considered to be the work of knowledgeable people. The capabilities are often discussed in terms that seem to relate to programming though clearly that is not always (or ever, in my opinion) necessary. Some additional points about the various capabilities: ** engage in sustained reasoning—over a period of weeks with planning and revision involved. ** manage complexity—not only the project but also differing solution alternatives, resources, solution components and their interaction (e.g., hardware, software, and telecommunication). ** test a solution—does the project result meet the goals and specifications? Assessment probably should be combined with design & implementation. ** manage problems in faulty solutions—seems covered in managing complexity and testing a solution ** organize and navigate information structures and evaluate information—some projects will require information not readily available thus web, library, etc. searches may be necessary and retrieved information (particularly if from the web) must be evaluated. [I have had students turn in non-working code they found on the web that claimed to (but didn’t actually) solve a particular problem.] ** collaborate—including collaboration via IT ** communicate with other audiences—using IT, prepare quality reports, presentations, documentation, etc. for various audiences, e.g., customers, users, managers, system maintainers, etc. ** expect the unexpected—side effects, both technological (server capacity cannot meet demand) and social (web access to provides students information and porno; IRS employees work more efficiently and surf the web during business) and in-between (solving problems via computing requires maintaining hardware & software and means most future solutions will involve technology) ** anticipate new technology—work at integrating new developments into existing systems/processes and mindsets (seems mostly to deal with things like planning when/whether to upgrade systems) ** think about information technology abstractly—a bit unclear, but, in my mind, important. Perhaps, e.g., hyper card was a database, wireless networking allows greater freedom and faster communication but in essence is just like have long wires but not have to trip over them, etc.

“Ten” Skills Set up a computer Basic OS tasks Text documents Slides & images Connecting to a network Resources via Internet Communication Spreadsheet ?Database? Computer-based instruction & documentation Yet again, 10 is not a magic number. Additionally the list is expected to change. For example, in my mind, setting up a computer includes connecting to a network (and it didn’t two years ago). Also, while list items may change on occasion, certainly the specifics involved will change fairly often. Some comments ** set up a computer—connect the hardware components, establish preferences, install software, etc. ** using basic operating system features—e.g., install software, uninstall software, invoke applications, configure disk space, manipulate file system, ... ** using a word processor to create a text document—create, edit, format, save (as), integrate graphics, ... ** using a graphics and/or artwork package to create illustrations, slides, or other image based expressions of ideas (e.g., presentation and graphics packages) ** connecting a computer to a network—connecting the jack and subscribing to AOL or ... ** using the internet to find information and resources—browsers, search engines (& their differences), sources of info (efficient information access), archives??, ... ** using a computer to communicate with others—e-mail, posting systems, calendars, groupware, ... ** using a spreadsheet to model simple processes or financial tables (also, e.g., Quicken, TurboTax, ...) ** using a database system to set up and access useful information—I don’t see this but the report suggest that the use of SQL-based systems are becoming ubiquitous in the workplace ** using instructional materials to learn how to use new applications or features—this ought to be the primary goal, students will not have a teacher to guide learning in the future

Project-based Instruction Results in some “artifact” Provide opportunity for students to apply some skills and practice some intellectual capabilities while demonstrating learning & understanding of some computing concept Probably some skills, concepts, and capabilities will not be addressed by projects (but some will!)

What about programming? Programming (ala the Fluency Report) included in “concepts”—algorithmic thinking and programming specifying instructions “precisely” & “primitively” for some agent other than the programmer to carry out, preferably with conditional and iterative execution deemed essential by authors does not require traditional programming (spreadsheet/HTML might do) I am not convinced it is necessary I cannot equate programming with spreadsheets or HTML but do think designing significant projects in these areas uses the same intellectual skills as programming. I plan not to have students do any “programming” project(s). For a long time I have said that it does not good to teach a little programming. Learners generally do not become adept at programming. Thus, whatever picture they form about programming is inaccurate. It remains a mystery or is an ad hoc process. That position results from rather shallow thought. It remains my first inclination but I am now less adamant about it because I have not given it deep thought. In the meantime, I will take the out provided by the authors of the report. I will have students design relatively complex documents, spreadsheets, web sites, etc.

What does one of these courses look like? How do I do that?

Planning The Course Skill acquisition activities exercise on-line/independent learning capability Knowledge acquisition activities (the “lecture” part of the course?) Projects—apply skills and exercise intellectual capabilities to demonstrate conceptual understanding Group work—address changing technology, societal impact, collaboration, etc. My attempts to make my literacy course a fluency course have, thus far, been more stumbling than striding. I think I am making progress, though. A top-down stepwise refinement seems useful. We want to have students develop appropriate skills and understanding while exercising intellectual capabilities on CS content. With respect to developing skill, the ultimate goal is to have students learn independently (using “modern” information access and learning aids). Thus, I will try to allow students to select the skills they need to develop and use minimal class time on skills. I will try to be very available to help them. Design activities to develop/exercise all the identified skills. Require some activities of all students. Then pelp students select a reasonably sized subset of the remaining activities. We have a book that “covers” most of the concepts but it does so rather shallowly using its author’s organization (rather than mine). The goal here is to provide incentive for students to read the book in a timely fashion (e.g., quizzes from the test bank to be completed prior to class). In college courses I plan (essentially all) class time to provide insights, connections, and understanding for the material in the text rather than “telling the students what the book says”. For high school I would spend about half the class time dealing with conceptual understanding and have the time discussing projects with students. Ah, the projects (I really like the projects). This is where students examine some of the big ideas. If, in my class, they examine several big ideas in computing they will gain insight and ability into examining big ideas later in life. Give a man a fish and he eats today, teach him to fish and he eats the rest of his life (unless he lives in the desert). Educational research seems to say that it is better for students to really learn a few big ideas (and how to examine them) than a host of little ideas. I would plan for about four projects over the semester (maybe two individual and two group). A caveat, I have not yet been successful in getting student to do well on the projects. They are almost always too shallow. I have students post their projects on the web. I intend to start having them self-evaluate their projects. Group work is important to address the collaboration capability (and perhaps to lighten the load a little). Group work is difficult for many of us (teachers) to manage effectively, at least it is for me. I still think it is worthwhile, however. Ultimately, we want develop as many skills and exercise as many intellectual capabilities as possible while students develop and demonstrate their understanding of some essential ideas in computing. I give students choice in an effort to increase motivation.

Assessing Student Learning Is hard At least two forms did you do it? how well did you do? Make your time as instructionally effective as possible Try to get students to focus on learning not grades develop student evaluation skill What can I add? Not much. I try to use check-offs as much as possible. Did you do the skill activity pretty much as directed (yes, no, sorta)? Did you succeed at a prescribed (fairly high) level on text quizzes. That allows me to spend my evaluation time on the projects. For project evaluation I am moving in the direction of having students self-assess their work. I also am moving toward having assessment/discussion meetings about the projects, student learning, and grades rather than my looking at them in isolation and assigning a grade. I think/hope the combination of public display of their work, self-assessment, and talking to me about their learning motivates students focus on learning rather than grades and to do better work. A principle component of my educational philosophy is that if you want students to be able to do a particular task, then that is what they must do. It takes practice—not just hearing about it or seeing it done and not doing it in math or some other discipline when we want it done in CS (there is little or no transfer). I do want students to be able to judge their own work so I need to provide them with instruction and practice. My guess is that you have ideas and suggestions here that I could use.

Keep In Mind No single bit of knowledge is critical Trust the process How do you know what students hear/learn in your current teaching? You already trust the process (with little evidence of success)! Intellectual capabilities and concepts are enduring; skills are transitory You pick the skills to include, concepts to address, and intellectual capabilities to apply Questions? Comments? Reactions?

Resources Being Fluent with Information Technology http://www.nap.edu/catalog/6482.html College level examples Philip East (not well done, yet): http://www.cns.uni.edu/~east/teaching/021 Larry Snyder (one of the report authors): http://www.cs.washington.edu/education/courses/100/CurrentQtr/ Add your course here? _________________________________________________ I am trying to maintain a list of resources about fluency courses. My current small list can be found at http://www.cns.uni.edu/~east/concerns/fluency.html

? Questions? Reactions? Suggestions?