Module 01 Study Guide
Learning Objectives
Intro (CPL Ch.1)
- List several reasons for studying programming languages
- List and characterize several language categories (such as functional, imperative, etc.)
- Explain the distinction between compilation and interpretation
- Recognize and define programming language design evaluation terminology
- Explain at least one programming language design trade-off
- Name and explain several programming domains
- Identify the influence of machine architecture and programming design methodologies in programming language design
Ruby
- Run the Ruby interpreter on a script or interactively
- Edit Ruby files
- Write Ruby expressions and use Ruby methods on basic built-in types like numbers, strings, etc.
- Use Ruby control structures
- Use Ruby arrays and hashes
- Use Ruby iterators
- Look up information about Ruby classes and methods online
- Write methods in Ruby
Resources
- CPL Chapter 1 (excerpt posted on Canvas in Files tab)
- Slides: Lam
- Your computer: please install a version of Ruby greater than 1.8 on your computer if you do not already have one. See the official Ruby docs for installation instruction. If your computer is a laptop, please bring it to class on Wednesday and Friday; otherwise you can use JMU laptops.
- Ruby Documentation
- Beginning Ruby on Safari Books
- The Ruby Programming Language on Safari Books
Lab
Please complete the lab. You may begin it any time. You should try to finish it by Wednesday so you can start working on the programming assignment in class on Wednesday (please bring your computer again).
Deliverables
Course Survey (10%)
Please complete the course survey. You may take it at any time.
Online Test (40%)
There will be an online test on the content from CPL Ch.1, but it will not be due until Jan 25 to give you some time to read and digest the chapter. You will have two attempts and the highest score will count.
Programming Assignment (50%)
Please complete the project and submit your code on Canvas by the due date.