Class meets at 2:00-3:15 on Tuesday and Thursday in ITTC 328. The final exam time is Wednesday, May 2 at 1:00 pm. My office is ITTC 315 and office hours are MWF: 9:30-11:30 & MWF: 1:30-3:30. I am also available for appointments. You are welcome to drop by but I may not be able to talk with you at that time.
We will not formally use a text in this course but you may wish/need to read some Scratch!, robot (Lego EV3 & Dash), and Net Logo documentation. You may also wish to read about programming, programming instruction, etc. to enhance your learning (perhaps for extra credit).
The University Catalog says of this course:
Introduction to computational thinking and computer programming. Taught as a survey of programming environments used by elementary education teachers. Topics include structure of programming and the study of several programming environments used by students at a variety of age/ability levels.
You should have already completed a Level One Field Experience. Also, remember that this is a two credit course and we will spend three "hours" in class. A substantial portion of that will involve hands-on activity or class discussions. You should plan on at least 4 hours of outside-class activity each week (some weeks less, some weeks more).
It is increasingly likely that some knowledge of programming will be useful to you as a teacher. Currently, our state and nation are considering ways to make programming available to or required of all students at all levels. Additionally, programming is a problem solving activity and the more experience one has with problem solving, the better at it one is. Finally, it is a requirement for students seeking endorsement in secondary (and perhaps elementary) mathematics teaching—it is included in the programs offered for those groups here at UNI.
My own perspective is that one important purpose of K-12 education is to expose students a variety of experiences and to the basic tools of modern society. Programming is a very reasonable experience for students to have (and currently there is little programming in Iowa schools). Furthermore, I believe, the basic tools for citizens in our society today include mathematics (quantitative problem solving), reading & writing (communicating), critical thinking, and programming. Not everyone will use those tools every day but they should know about them and have enough facility with them to use them and to choose whether they might want to learn more about them. Programming is at least as important (and probably more useful) to the general populace than are biology, chemistry, physics, and mathematics beyond the basics of algebra.
The hope is that this class will be engaging, useful, fun, and interesting.
Learning related to this course will occur in your head. It will depend on what you do and think. Participating in class and doing the assignments will help useful stuff happen in your head. If you seriously reflect on class activity you will likely learn a lot. I welcome your questions (and suggestions) in class, in office-hours, via e-mail, etc. about anything that you think will improve your learning or that of your classmates or of future students (mine or yours).
The best way to learn (and to get a good grade) is to attend all classes (& work/pay attention); do all assigned activity; and ask questions whenever they arise.
Be thinking about your learning in this class and your future students' learning. There are substantial differences between you and them but there are also substantial similarities. One difference is that students, particularly in the lower grades, still have a lot of innate curiosity that the school system has not yet dampened. Also, kids are typically more willing to try stuff than adults (young or old), particularly if it involves technology.
I will try to model, and we will occasionally discuss, the teaching behavior I think you should use with elementary and middle school students. One part of that will be to avoid telling you stuff—to tell you as little as I think I can and still have you learn. Discovery is the most powerful kind of learning, particularly after having struggled to understand or do. Discovery learning can also lead to misconceptions and be quite inefficient so planning is needed for it to be used well. Finally, we should not leave to chance (discovery) those things we think are vital to reasonable understanding.
The course will consist of four parts or units. They are identified and briefly discussed below.
We will discuss plans and expectations for the course and skills involved in programming. Students will complete the "accelerated" code.org programming introduction course.
We will learn and experience all the basics of programming—actions, sequence, data, selection, repetion, and modularization—as well as experiencing a variety of contexts for Scratch programs. We'll also work on problem solving (program planning) and writing good code (as opposed to guess-and-check code). We will use pair-programming for this activity. Our goal will be to develop well-rounded introductory programming skill.
Logo is currently used most used for simulation but its original use was turtle graphics to explore programming and procedural thinking. We will explore some agent-based simulation programs and do some turtle graphics programming to compare Logo to Scratch and robotics.
Two types of robots will be used—Dash (appropriate for pK and early elementary students) and Lego EV3 (applicable to middle school and older students). Programming pairs will explore the robot, defining some basic programming tools/modules, and consider larger programs that use the defined tools. Pairs will then swap and use the other kind of robot. The goal here is to experience more physical programming in an environment that introduces less precision that on-screen programs.
Half of in-class time (or a little less) will be used for programming activity with some outside-of-class time also required. Grading components of the course include class attendance & participation, final exam, programming (& related) tasks, and sharing of individual reports/reflections on the programming activity. The programming activity will be done in pairs (except for perhaps 1 person).
Occasionally, I will "publish" an anonymized version of the spreadsheet grade book to allow students to check for recording errors. I am typically not as timely as I could be but hope to revise and post it shortly after each assignment.
I have experimented with all kinds of grading scales. This semester I am using an approach to communicate my assessment of work using the grade assigned. When I assign scores I will use a 14 point scale that clearly communicates the grade.
14:A+, 13:A, 12:A-, 11:B+, 10:B, 9:B-, 8:C+, 7:C, 6:C-, 5:D+, 4:D, 3:D-, 2:F+, 1:F, 0:F-
Attendance & participation) will have a default score which will be added to or deducted from. Most other grading elements—open-ended exam items, report/reflection assignments, programs—will have a merit score reflecting the judged quality of the response/submission. For merit/quality scores the following general rubric applies.
|Grading Element||F (poor/marginal)||D (poor/marginal)||C (okay)||B (good)||A (excellent)|
|Completeness/ Comprehensiveness||Little or nothing done||Some central/basic elements missing; few other supporting elements included||Most central/basic, and some additional supporting, ideas/elements are present||All central/basic, and most additional supporting, ideas/elements are present||No noticeable deficiencies in ideas/elements|
|Understanding||Topic not addressed||Substantial errors or misunderstandings; little apparent understanding||Few errors or obvious misunderstandings; some question about understanding||No errors or obvious misunderstandings; few questions about understanding||No understanding issues|
|Writing & Communication||Little or nothing submitted||Grammar & spelling are problematic; intended meaning not readily discernable||Some grammar & spelling errors; some superfluous material; some disjointed elements; some clarity issues||Few grammar & spelling errors; little superfluous material; few disjointed elements; few clarity issues||No issues of grammar, spelling, superfluity, disjointedness, clarity, etc.|
|Programming||Little or nothing works as specified||Obviously does not meet task specifications||Appears to meet most or all task specifications||Meets task specs and some code-quality specs/suggestions||Meets task specs and code-quality specs|
Course grades will be based on the items indicated below.
Showing up and seeming to pay attention is worth a B (10 out of 14 points). But, using your cell phone, surfing the web, reading email, not paying attention during discussion, not working on class activity when given time, working alone instead of pair programming when the partner is available, etc. can substantially reduce the score. Arriving late or leaving early can also negatively affect the score. The score can be improved though simple "interactions". More involved or in-depth interactions seeking understanding of class material, sharing your experience and/or difficulty, disagreeing with the instructor in a constructive manner, etc. will have a greater positive effect.
"Excused" absences may be made up by producing a written report for missed days. Consecutive days may be included in a single report. The report should open with a paragraph identifying the student, the dates of absences, and the rationale for them being excused. The report should then address the main ideas presented/discussed and any work assigned or completed by partners during the absence. The report should demonstrate understanding of ideas addressed and/or questions about them. Grading will address completeness and communication.
The final exam will have several components:
An abbreviated sample exam will be taken at the end of the Scratch programming unit. It will be graded and discussed but not counted as part of the grade. At that time, sample final exam questions for the other exam parts will be provided.
Eight programming (or related) tasks are anticipated. Most will be done in partnership. Scratch programs will be shared with classmates. Robotics programs will be demonstrated to the instructor. Logo programs will be submitted to the instructor and shared with the class via the Web.
During or after each programming (or related) activity students will be asked to contribute to a shared google doc. The initial document will have possible outline topics under which the students can comment. Alternatively, new topics can be started or comments added to existing comments by other students. The grade for each document will be based on the quality and quantity of comments. Reflective comments are worth more than reporting comments. See my reflection discussion page for further insight.
The goal of extra credit is to encourage learning and the communication of learning to others. One way to do this is to complete a programming project and report. You might think of some other mechanism to extend or expand your learning. Feel free to suggest it, prior to the end of 12th week of class. (One possibility is to read and report on a book, e.g., Douglas Rushkoff's "Program Or Be Programmed".)
I enjoy one-on-one discussion with students about anything course related (or non-course-related discussion if I have time or it is important to you). I also use e-mail extensively, particularly for announcements. Most course-related information will be posted on the course website and/or distributed via e-mail. For privacy reasons, I tend not to use FaceBook and other social media or to link to students in Linked In (unless there is a substantial working relationship).
I prefer to provide feedback about grading or quality of submission in person (or as part of "sharing" in class) so I can ensure it is understood. If you desire feedback beyond a grade, please let me know and we will make an appointment to do so.
Sometimes we tend to equate time spent with the grade we should receive. Do not fall into that trap. The quality of work is more important than the quantity of work or time spent (though time spent indicates something of worth). Also, keep in mind the rule of thumb that says you should spend about two hours outside of class for each hour of class time. If you feel my assignments require substantially more time than that for multiple students, please let me know.
If you know in advance of an extended absence, notify me and we will plan how the absence will be handled. For unforeseen absences, with good reason, contact me as soon as you return to arrange for making the work up and avoiding interference with other studies.
Code is often available via the web and you have been encouraged to discuss your work with others. I encourage students to work togethe, both working to fully understand each problem & solution. Copying and using code or prose without attribution is considered to be plagiarism—don't do it! Even with attribution, using copied code/prose beyond a small amlount without substantial adaptation is considered to be academically dishonest—don't do it! A good rule of thumb for my class is that you can show/see and discuss code but should use someone else's code only if: 1) you fully understand it, 2) you type it by hand rather than copying and pasting it, and 3) provide attribution of its source. Copying prose is not allowed at all except for quoted and cited material used to make your own point.
If a student has a disability that qualifies under the Americans with Disabilities Act and Section 504 of the Rehabilitation Act and requires accommodations, he/she should contact Student Disability Services (SDS) for information on appropriate policies and procedures. SDS is located on the top floor of the Student Health Center—phone (319) 273-2677.
Do not use cell your phones in class. If an emergency arises you may answer a call. Computers, etc. may be used during class time only for reasons directly related to class activity. If you have to hide activity from the instructor or peers, it is not okay (so don't do it).
I encourage you to use the Academic Learning Center for assistance with writing, math, science, and college reading and learning strategies. For more tutoring information, go to unialc.uni.edu/tutor-services or visit the office located in 008 Innovative Teaching and Technology Center (ITTC).