Presentation is loading. Please wait.

Presentation is loading. Please wait.

The High School Computing Course

Similar presentations


Presentation on theme: "The High School Computing Course"— Presentation transcript:

1 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

2 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

3 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.

4 “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.

5 “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.

6 “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— , 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

7 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!)

8 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.

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

10 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.

11 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.

12 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?

13 Resources Being Fluent with Information Technology
College level examples Philip East (not well done, yet): Larry Snyder (one of the report authors): Add your course here? _________________________________________________ I am trying to maintain a list of resources about fluency courses. My current small list can be found at

14 ? Questions? Reactions? Suggestions?


Download ppt "The High School Computing Course"

Similar presentations


Ads by Google