CS 1150 Programming Environments for Elementary Education (PEEE)

Spring 2017, J. Philip East

Course Information

Class Logistics & Content

Class meets at 2:00-3:15 on Tuesday and Thursday in ITTC 328. The final exam time is Wednesday, May 3 at 1:00 pm. My office is ITTC 315 and office hours are MWF: 9:45-11:45 & 1:30-2:30.

We will not formally use a text in this course but you will need to read some Snap! and Net Logo documentation. You may also wish to read about programming, programming instruction, etc. to enhance your reflection or project (see discussion below).

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.

Why Programming for Elementary Math Teaching Specialists?

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 or no programming in Iowa schools). The basic tools 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 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, and fun & 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 young (or old) adults.

I will try to model the teaching behavior that 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 it needs some planning to be used well. And, we cannot leave to chance (discovery) those things that are vital to reasonable understanding.

General Course Plans & Assignments

We will use four different programming environments:

Half to two-thirds of class time will be used for programming activity (not counting exam time) with some outside-of-class time also required. Outside-of-class time will also be used for the preparation of programming activity and reflection reports (PARRs). PARR submissions will be one of three major grading/assessment mechanisms. The other two are exams (two in-terms and one final) and a programming "project" produced in Snap!. Class attendance and participation will also be figured in the course grade but to a lesser extent.

After the code.org course, programming will be done in pairs (perhaps one triplet) with pairing to take K-8 school grade level preferences into account (i.e., lower and upper). The programming project will use the same pairings as the programming assignments and the PARR submissions.

Grading & Course Activity

Occasionally, I will "publish" an anonymized version of the spreadsheet grade book to allow students to check for recording errors. I have experimented with all kinds of grading scales. This semester I am using 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-

Some graded activities (such a attendance & participation) will have default scores which will be added to or deducted from. Most others (e.g., exam items, reflection assignments, etc.) will have a merit score reflecting the judged overall quality of the submission. For merit/quality scores the following general rubric applies.

Grading ElementF & D (missing/ poor/marginal)C (okay)B (good)A (excellent)
Submission characteristics Missing or incomplete submission; only some directions followed; quite late Most directions followed; (close to) complete submission; (close to) on time Very minor problems with directions and/or submission completness; on time (or vice-versa) All directions followed; complete submission; on time
Completeness/ Comprehensiveness Most 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 Very few or no noticeable deficiencies in ideas/elements
Understanding Substantial errors or clear misunderstandings; little apparent understanding Few errors or obvious misunderstandings; some questions about understanding No errors or obvious misunderstandings; few questions about understanding No understanding issues
Writing & Communication Grammar & spelling are problematic; intended meaning hard to discern; 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 Very few (at most 1-2) issues of grammar, spelling, superfluity, disjointedness, clarity, etc.

Course grades will be based on the items indicated below.

Extra credit

The goal of extra credit is to encourage learning and the communication of learning to others. One way to do this is to share programs you write with notations indicating the learning or insight, e.g., an indication of how an problem was overcome by using a particular approach in the code. You can also suggest something that you'd like to learn, e.g., how to accomplish a particular task in a particular context. I will prepare two web documents that will make this information available to all class members. One of them will be the program sharing page. The other will be via a how-to-do-it document. You might think of some other mechanism to extend or expand your learning. Feel free to suggest it, prior to the 10th week of class.

Communication, Support, & Feedback

I enjoy one-on-one discussion with students about anything course related (or non-course-related discussion if I have time). 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.


The planned schedule is provided below. Hopefully it is close to the reality that will occur.

Additional, General Information

Academic Conduct

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.

Cell Phones, etc.

Do not use cell your phones in class. If an emergency arise 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).

Additional Academic Help

I encourage you to utilize the Academic Learning Center’s free assistance with writing, math, science, college reading, and learning strategies. UNI’s Academic Learning Center, located in 007/008 ITTC, also provides advising services and is the University's testing center for many standardized tests, including the PLT, GRE, and Praxis Core. Visit the website at http://www.uni.edu/unialc/ or call (319) 273-6023 for more information or to set up an appointment.