Tentative Schedule
Spring 2006
Date |
Activities/
Assignments |
Learning
Outcome |
1/29 |
Introduction,
Overview Reading
Chapter 1 |
Explain the benefits of learning and making
abstraction of constructs and structures of programming languages (pls) Explain the benefits of intermediate
languages in the compilation process Evaluate the tradeoffs in performance
vs. portability Describe the phases of program
translation from source code to executable code and the files produced by
these phases Discuss the effectiveness
of optimization |
2/5 Chapter
1-2 Projects
topic |
Reflections,
summaries Due:
must be able to answer any of the review questions (rq) p 33-34. Solve one from
Problems: 2-3-4-9-13 p34-35 Reading
Chapter 2 (37-76) |
|
2/12 Chapter
2 |
Reading
Chapter 2 (77-108) Must
be able to answer 1-29 rq |
Illustrate
how this history has led to the paradigms available today |
2/19 Chapter
3 |
Lecture, reflection, must be able to answer 30-50 rq
Solve one of problems: 1,14,18 |
Summarize
the evolution of programming languages illustrating how this history has led
to the paradigms available today |
2/26 Chapter
3-4 |
Lecture,
reflection, group discussion to design a simple parser to break and inputted
text into tokens. Reading
chapter 4 |
Explain syntax and semantics of language with respect to
translation. Compare and contrast compiled and interpreted execution models, outlining
the relative merits of each. |
3/5 Chapter
4 Draft
of project proposal |
Use
the class time to implement the designed parser. Reading
Chapter 5 |
Identify and describe the properties of a variable such as its
associated address, value, scope, persistence, and size. |
3/12 Chapter
5 |
Must
be able to answer 1-23 rq. Solve one from problems 4,5,8-14 Extra
credit: Select one of programming exercises 1,4 |
Discuss type incompatibility. Demonstrate different forms of binding, visibility, scoping, and
lifetime management. |
3/19
Chapter 6 Submitting
Project |
Must
be able to answer 1-28 rq Solve one from the problems 3-8 |
Defend the importance of types and type-checking in providing
abstraction and safety Evaluate tradeoffs in lifetime management (reference counting
vs. garbage collection). |
3/26/27 |
MidTerm |
|
3/28/29 |
Approval
of project |
|
4/2 |
SPRING BRAKE |
|
4/9 Chapter
9 |
Must
be able to answer 1-15 rq. Solve one from the problems 1-4, 5 Presentations |
Explain how abstraction mechanisms support the creation of
reusable software components Demonstrate the difference between call-by-value and
call-by-reference parameter passing Describe how the computer system uses activation records to
manage program modules and their data |
4/16 Chapter
10-11 |
Chapter
11 Must be able to answer 1-21 rq. Solve problem 2 Presentations |
Justify the philosophy of object-oriented design and the
concepts of encapsulation, abstraction, inheritance, and polymorphism. Describe how the class mechanism supports encapsulation and
information hiding |
4/23 Chapter
11-12 |
Chapter
12 Must be able to answer 1-25 Presentations
|
Explain the relationship between the static structure of the
class and the dynamic structure of the instances of the class Describe how iterators access the elements of a container |
4/30 Chapter12 |
Chapter
14 Must be able to answer 1-22 Presentations |
Outline the strengths and weaknesses of the functional
programming paradigm |
5/7 Chapter
16 |
Must
be able to write short code reflecting functional approach Presentations |
Recognize
the power and limitation of functional and logic paradigms Evaluate the tradeoffs between the different paradigms
(languages), considering such issues as space efficiency, time efficiency (of
both the computer and the programmer), safety, abstraction and power of
expression |
5/14 Chapter
15 |
Must
be able to write short code reflecting logical approach Presentations |
|
5/21 |
Final
Exam |
|