Java Python C# Haskell Ada ML FORTRAN Icon Pascal Ruby Algol Lua C Red Lua COBOL Perl Go Clojure awk Eiffel Assembly Rexx LISP JavaScript Tcl Elixir BASIC Factor Swift APL Scala Rust Shadow
Java Python C# Haskell Ada ML FORTRAN Icon Pascal Ruby Algol Lua C Red Lua COBOL Perl Go Clojure awk Eiffel Assembly Rexx LISP JavaScript Tcl Elixir BASIC Factor Swift APL Scala Rust Shadow
Most programming languages do not come with Integrated Development Environments (IDEs), and in fact many programmers prefer to learn a powerful general-purpose text editor and use it for all their editing, including writing programs. Recommended editors are listed below. VS Code is the new kid on the block, but has very powerful, very compelling features. Vim and Emacs are a bit different than most editors, but they're both very powerful and run on practically every computer on the planet (they've also been around a long time). jEdit is written in Java, so it will run on anything that can run Java. Notepad++ is Windows-only, and is NOT the same as Notepad.
Note on readings: unlike text book readings, the assigned readings in this course will follow a variety of formats. Some may be scholarly journal articles written by pioneers in the field and will require a different level of attention and focus than you may be accustomed to. Others may be from wikis (WikiPedia, WikiWikiWeb, Wolfram's Mathworld, etc.) that allow for non-linear exploration of topics through a variety of pages. The more time you put into reading these assignments, the more you will be prepared for the programming assignments. A new reading assignment will be posted every Monday (except during fall break), including holidays.
If you find additional resources, send me links and I'll add them here
The three languages you select must be from different categories.
The language you select is subject to the following restrictions. You may NOT choose:
Most importantly, your language choice must be approved by me before it will be added to the schedule.
You should research the origins, history, and development of your language, including the following questions in your investigation: (1) What other languages influenced it? (2) What new features or constructs did it introduce? (3) What was its intended purpose? (4) Who created it? (5) Who uses it now?
Be creative in asking yourself other interesting questions about your language. It will be a challenge for you to organize and compress all that you learn into a succinct, interesting, and informative presentation. Make sure that you prioritize your findings and include the most important and interesting aspects of your language.
You should use PowerPoint or an equivalent presentation platform to organize your thoughts.