![]() ![]() One thing that I have to point out here is that I’m specifically considering CS1 with the intent that students in CS1 intend to go on to gain a deeper knowledge of programming, software development, and computer science in general. Bonus points: be open, multi-platform, and preferably open source.Ability to write things that are interesting in the first semester.Ability to solve reasonable problems without introducing too much complexity.Enforcing good practices so students don’t develop bad habits.So what factors should be considered when picking a language for CS1 instruction? My short list for this post is the following: The decision of what language to use is more challenging. Contrast this with version-control systems where git is currently the clear winner. Even the most popular of languages appear in well under 50% of the job posting for developers, so there isn’t some obvious pick that is 100% essential for students to know. No single language dominates the development landscape. These days, software development is a polyglot activity. Languages and technologies are constantly being created/updated and old ones tend to decline in usage as others replace them. Those concepts tend to carry across languages and time. ![]() Instead, languages are a means to tell computers what we want them to do and, in that way, they are a vehicle for us to teach students the fundamental concepts that we really care about. The thing that I feel really is important to get out of the way is that we don’t teach languages for the sake of languages. Different departments and educators will weigh them all differently. There are many factors that go into why faculty and departments pick a language for CS1. I will generally restrict my comments to languages in the top 15 on RedMonk that I know people have used for introductory programming courses or which I can easily imagine people using for that purpose. ![]() However, I decided to make it more general to “score” a variety of different languages. I originally started it with the intention of raising questions related to the rapid adoption of Python that is currently happening in CS departments across the US. The purpose of this blog post is to explore issues related to the selection of a first programming language for CS majors. I feel strongly enough about the ideas that I’m also making it my first Medium post. I originally published this on my blogger account. Picking a Language for Introductory CS - The Argument Against Python ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |