Computational Literacies Lab

This introductory course on computer programming simultaneously teaches beginners the fundamentals of computer programming while using that learning experience as a context for developing K-12 pedagogical content knowledge of how programming is most effectively taught and learned. One primary audience for the course is future CS teachers, or future teachers interested in interdisciplinary CS. The course is also designed for graduate students in the social sciences, arts, and humanities who want to use computational methods in research or art. Programming topics include variables, data types, control flow, planning, debugging, collaboration, abstraction, and modularization. Pedagogical topics include debugging, misconceptions, formative and summative assessment, and teaching with computational media.

Department-Wide Policies

Accessibility

If you have a disability and may require some type of instructional and/or examination accommodation, please inform me early in the semester so that we can coordinate the accommodations you may need. If you have not already done so, please contact the Office of Accessibility Services (formerly the Office of Disability Services).

  • Mail: University at Buffalo, 60 Capen Hall, Buffalo, NY 14260-1632
  • Email: stu-accessibility@buffalo.edu
  • Phone: 716-645-2608 (voice); 716-645-2616 (TTY); Fax: 716-645-3116

All information and documentation is confidential. The University at Buffalo and the Graduate School of Education are committed to ensuring equal opportunity for persons with special needs to participate in and benefit from all of its programs, services and activities.

Academic Integrity

It is expected that you will behave in an honorable and respectful way as you learn and share ideas. Therefore, recycled papers, work submitted to other courses, and major assistance in preparation of assignments without identifying and acknowledging such assistance are not acceptable. All work for this class must be original for this class. Please be familiar with the University and the School policies regarding plagiarism. For more information, see the Academic Integrity Policy and The Graduate School Policies & Procedures.

Course Evaluations

You will have two opportunities to provide anonymous feedback about the course. In the middle of the semester, I will send you a brief questionnaire asking about what activities are contributing to your learning and what might be done to improve your learning. At the conclusion of the semester you will receive an email reminder requesting your participation in the Course Evaluation process. Please provide your honest feedback; it is important to the improvement and development of this course. Feedback received is anonymous and I do not receive copies of the Evaluations until after grades have been submitted for the semester.

Health and Wellness

As a student you may experience a range of issues that can cause barriers to learning or reduce your ability to participate in daily activities. These might include strained relationships, anxiety, high levels of stress, alcohol/drug problems, feeling down, health concerns, or unwanted sexual experiences. Counseling, Health Services and Health Promotion are here to help with these or other issues you may experience. You can learn more about these program and services by contacting:

Sexual Violence

UB is committed to providing a safe learning environment free of all forms of discrimination and sexual harassment, including sexual assault, domestic and dating violence and stalking. If you have experienced gender-based violence (intimate partner violence, attempted or completed sexual assault, harassment, coercion, stalking, etc.), UB has resources to help. This includes academic accommodations, health and counseling services, housing accommodations, helping with legal protective orders, and assistance with reporting the incident to police or other UB officials if you so choose. Please contact UB's Title IX Coordinator at 716-645-2266 for more information. For confidential assistance, you may also contact a Crisis Service Campus Advocate at 716-796-4399.

Please be aware UB faculty are mandated to report violence or harassment on the basis of sex or gender. This means that if you tell me about a situation, I will need to report it to the Office of Equity, Diversity and Inclusion. You will still have options about how the situation will be handled, including whether or not you wish to pursue a formal complaint. Please know that if you not wish to have UB proceed with an investigation, your request will be honored unless UB's failure to act does not adequately mitigate the risk of harm to you or other members of the university community. You also have the option of speaking with trained counselors who can maintain confidentiality. UB's Options for Confidentiality Disclosing Sexual Violence provides a full explanation of the resources available, as well as contact information. You may call UB's Office of Equity, Diversity and Inclusion at 716-645-2266 for more information, and you have the option of calling that office anonymously if you would prefer not to disclose your identity.

Schedule

{{< info >}} One of the goals of the pilot is to calibrate the pace and difficulty of the course. The calendar below lists goals for each week, but we'll take things a week at a time and see how far we get.

{{</ info >}}

Week 1 (2022-02-02)

Try to complete Lab 0 and Lab 1. There will be a fair amount of setup involved, and something will probably break, so don't hesitate to be in touch!

Week 2 (2022-02-09)

See if you can complete labs 2, 3, and 4. We'll make a little time for starting to brainstorm a course project this week as well, so bring some ideas.

Week 3 (2022-02-16)

Aim to complete Lab 5 and Lab 6.

Week 4 (2022-02-24)

Try to complete Lab 7. We'll do Lab 8 together in class.

Week 5 (2022-03-03)

Your drawing project is due! Introduction to Unit 1, functional programming and data science. Note: We moved our weekly meetings to Thursdays, 3:45-4:45.

Week 6 (2022-03-10)

Complete Unit 1's Lab 0.

Week 7 (2022-03-17)

Complete Lab 1 and Lab 2.

Week 8 (2022-03-24)

No class. Spring break. (We met anyway and worked through part of Lab 2.

Week 9 (2022-03-31)

Try to finish Lab 2 ahead of class. We'll work on the unit project in class, learning about Jupyter Labs and the pandas library.

Week 10 (2022-04-07)

Introduce Unit 2: Games and object-oriented programming.

Week 11 (2022-04-14)

Week 12 (2022-04-14)

Week 13 (2022-04-14)

Week 14 (2022-04-14)

Syllabus

  • Course Code: LAI 703
  • Instructor Name: Dr. Chris Proctor
  • Class Times: Wednesdays, 4:30-5:30pm
  • Format: Online, synchronous
  • Email Address: chrisp@buffalo.edu
  • Office Location: Baldy 510
  • Office Hours: Tuesdays, 3-4pm and by appointment
  • Credits: 3

Course Description

This introductory course on computer programming simultaneously teaches beginners the fundamentals of computer programming while using that learning experience as a context for developing pedagogical content knowledge of how programming is most effectively taught and learned. The course is also designed for graduate students in the social sciences, arts, and humanities who want to use computational methods in research or art.

The Pedagogy of Programming follows the curriculum of Making With Code, a two-year CS course developed around the principles of Constructionism and aimed at high school students. This course is divided into two parts, each tracking one year of the curriculum.

Part I

Part I consists of three units: Drawing, Data Science, and Games. These units are a tour through three programming paradigms, or ways of approaching computational problems: imperative, functional, and object-oriented. Along the way, the curriculum is structured to gradually introduce you to the syntax of Python, basic computational ideas such as abstraction, data structures, and algorithms, as well as the tools and practices of the trade.

Part II

The second part of the course follows a spiral curriculum, deepening concepts introduced in Part I while rounding out some of the most important conceptual domains within CS. The three units comprising Part II are Networking, Hardware, and Web Applications.

Learning Outcome and Program Goals

This course's learning outcomes are closely aligned with the UB CS Teacher Preparation Program's CS Content Knowledge outcomes (and also with with the core concepts outlined in New York’s Computer Science and Digital Fluency Standards).

  • Impacts of computing
  • Computational thinking
  • Networks and system design
  • Cybersecurity

The course also focuses on several of the UB CS Teacher Preparation Program's CS Pedagogical Content Knowledge outcomes:

  • Supporting learner identities
  • Teaching with computational media
  • Feedback and assessment

The Pedagogy of Programming is part of all of UB's CS Teacher Preparation tracks, and will be of interest as an elective for teacher preparation candidates in other areas as well as doctoral students interested in computing education or the learning sciences.

Mode of Instruction

{{< info >}} For the pilot, we will decide whether to meet in person or online. {{</ info >}}

The Pedagogy of Programming meets in person. Regular attendance, preparation, and participation is essential and required.

Required Text and Materials

There are no texts required to be purchased for this course. All are accessible from this course website and from the Making With Code curriculum hosted at https://code.computationalliteracies.net. You will need regular access to a computer running Mac OS, Windows, Linux, or Unix. iPads are not sufficient. Chromebooks will work if you are allowed to install the Linux app. (In a pinch, you could complete this class using a Raspberry Pi.) You will also need a stable Internet connection. If any of these pose a challenge for you, please contact me and we'll figure it out.

Course Assignments

{{< info >}} One of the goals of the pilot is to calibrate the pace and difficulty of the course. Therefore, we'll take things a week at a time and see how far we get. {{</ info >}}

Each unit of this course is structured around labs, problem sets, and a project. Labs are social, collaborative experiences whereas problem sets are designed to check your understanding. Projects are open-ended.

Grading

{{< info >}} The pilot is structured as an independent study. To earn an A, you must regularly attend the weekly meetings, complete the course journal, and spend at least four hours a week on the course. {{</ info >}}