Programming Fundamentals

Total Page:16

File Type:pdf, Size:1020Kb

Programming Fundamentals

Programming Fundamentals Math Department Edwardsville High School Mr. Huff (Used by Mr. Hagin) ______

Alice is a programming language created to teach. It is an excellent introductory language since there is very little to memorize, instant visual feedback, and no (well, very few) mysterious error messages. The programs you write are 3D animations ranging from view-only “cut scenes” to interactive games. Alice is free and can be installed on your computer at home. Unfortunately, the extent of Alice is to teach. Its capabilities are very limited when applied to other endeavors. To go forth and program in the real world, you will adapt what you learn in this course to other languages. Fortunately, there are several good reasons for learning this language:

1. Alice is a stepping-stone to real-world languages. It is structured after current industry standard languages. Research shows that learning Alice then, say, Java is more effective than starting with Java. Think of it as starting with training wheels, not as a pointless diversion. Learning new programming languages is very easy once a good foundation is laid.

2. Learning to program in Alice will increase your computer literacy. Even if you do not plan on ever writing a computer program, programming skills are useful in other areas: 3D modeling and animation, writing spreadsheet macros, creating web pages, using scripting languages to create macros, add-ons, and levels for video games, creating widgets to load on your iPhone, and automating scriptable computer programs. Stop being simply a computer user.

3. Programming fundamentals teach you logical reasoning. You will have problems in your life. Loads. Some of them can be solved, or at least solved more easily, if you know good problem solving techniques. It sounds strange, but the skills you learn in this class can help you tackle seemingly unrelated problems in life.

4. Perhaps most importantly, computer programming teaches you to be lazy. This may sound contradictory, but there are many who state that computer programming is the art of being lazy. A computer programmer writes a bit of code because it requires less effort in the long run to teach a machine to perform a certain task, than to do it himself repeatedly.

This course is self-guided. Assignments and due dates are on the course website (see calendar). There is a written exam for each chapter as well; it can be taken at any point before the chapter due date. Once an exam is in your hands, however, it must be handed in before the end of the class period! You will work through these steps at your own pace, and it is your responsibility to be mindful of due dates. Given that you currently have all of the semester’s assignments, no late work will be accepted except under extenuating circumstances. Set a goal for yourself to have each assignment done at least one week before its actual due date, and you will never have to worry about due dates. By the end of the class period a chapter is due, all material for the chapter must be completed: exercises, questions, project, and written exam. One research paper will be due at the end of the first quarter. The final exam grade is a final project. The course website can be found at: http://www.ecusd7.org/homepages/ehsstaff/bhuff/courses/progfund/

You may find it easier to navigate to the page from the EHS homepage: Academics > Math > Brandon Huff - Website > Programming Fundamentals.

The computer lab is open every day after school, until at least 3:00 PM, usually later. You can load Alice from any computer in the school with access to the students network drive. You can work from home if desired. Alice is a free (open source) download for Linux, Mac OS, and Windows, found at alice.org. If you work from home, be sure that you have a reliable method of transferring files back and forth. Mr. Huff can offer advice on how to do this, but ultimately the responsibility lies with you to do this correctly. It is recommended that you find a reliable way to back up your files. On the school computers, any number of things may go wrong causing you to lose many hours of hard work. This is not a happy moment for most students. A USB flash drive (a.k.a. thumb drive, USB key), a web-based e-mail account, or a web- based file storage site are good backup solutions. You should back up your files daily. You should back up your files in multiple locations, using multiple methods. You should never trust that your files are safe and sound on the school computers. You can spend your time on things other than the work for this class only if you have the currently assigned chapter’s work turned in.

Recommended publications