How does your school/university teach it? What have been the pros and cons of that choice?
Obviously, teaching students logical and foundational concepts is the most important part, but a student's first programming language does color their internalization of the concepts and how they approach solving different problems. For example, OOP is really hard to grasp coming from a functional background. Learning how to manage memory efficiently and use appropriate data types is really hard coming from an interpreted language like Python or Javascript. What have you and your peers decided works best for you and your students?
Hey all, I want to revamp some of my assignments this coming semester. One of the first projects I always start with is something to get some hands-on experience with conditional logic. However, these projects are getting pretty stale at this point. So, I'm turning to this community for some fresh ideas.
Keep in mind, these assignments are for brand-new programmers within the first 2-4 weeks of the course. At this point, they won't have really been taught loops, functions, collections, etc., beyond that they exist. They really just know basic syntax, variable types, and terminal input and output. This is where they will practice working with boolean expressions and selection statements like if-else, if-else if-else, and switch.
Here's what I've been doing for some reference:
Write a program to turn an integer grade into a letter grade.
50 -> F
81 -> B-
99 -> A+
Write a program to convert a number from 1 to 7 into the corresponding day of the week.
This community is a hub where programming teachers can discuss methodologies, ways to improve teaching skills, classroom engagement, best practices...
It can also be a place to comments and discuss problems with students (but keeping anonymity always in mind) and make some humor about the hardships of our profession.
If you are not yet a teacher, but want to become one, you're also welcome.
We won't do your assignments. Go to Learn_programming for that! (not really).