Who is your instructor? Pick a section leader. Role of the website. Course Policy and CS Department Honor Policy. Computing resources and Python tools.
This course is an introduction to programming for students with diverse academic backgrounds. The course assumes students have zero or almost zero knowledge about programming, and will teach the Python language. Students who have learned a different programming language (and not yet Python) are welcome in the course, but there are other introductory courses on the Yard that might be more appropriate for such experienced students.
It's about learning to program, and learning a skill that will help you for the rest of your life!
Programming is a creative process, in which you construct a model world inside the computer that interacts with the real world via keyboards, mice, monitors, speakers, network connections, and so forth. It's very rewarding and exciting; you will never be bored!
However, it is frustrating at the same time. Your code won't work on your first attempt most of the time; you need to debug your code, figuring out where you were wrong. Again unfortunately, with high probability, the debugging won't be finished on your first try either. Perhaps only after many attempts, your program will finally work.
It's just hard to write a correct program. Some words of advice:
Of course, we will try our best so that the level of frustration may stay manageable by you. We are going to start slow.
IMPORTANT: If you think you're too frustrated, you must seek help. It's your responsibility to seek for help. It's our responsibility to help you with all our might when you seek help. We don't really know whether you're desperate or not.
This is the million dollar question. Why Python, or perhaps asked another way, why not Java or why not C++? You will run into many people that will try to convince you why one language is better than the other. If someone tries to make a general claim like "The X language is better than Y at all things", you should walk away. No language reigns supreme at all things.
Programming languages are sometimes like tools ... different languages are more applicable to different tasks. Python is great for quick short programs for data processing. Java is great for large collaborative projects. C++ is great for speed.
But languages are sometimes like culture. People speak Portuguese in Brazil because that's what they grew up with. It doesn't mean Portuguese is better than Japanese for communication, it's just what they prefer culturally. Don't get caught up in language wars. This class will focus on how to program, and we use Python as the language.
Python does have some nice properties, and we did of course intentionally pick it for this class.