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