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.