
INSS
520 Software Structures
Term 3,
2001/2002
26/27 January; 9/10 and 23/24 February; 9/10
March
0900-1600
Course Information · Course Overview · Course Text · Instructor
Policies · Grading · Final Exam · Schedule
This course covers the principles involved in the design, evaluation and implementation of programming languages. On this course the student will discover the basic fundamental syntactic and semantic concepts underlying modern programming languages. The primary focus is on understanding concepts, however, as a practical consequence, the student will write several small programs in different languages. In essence we will study a small set of representative programming languages and use them to develop an understanding of how different programming language concepts are implemented by a language designer, and their impact on the programmer.The principal paradigms we will cover include:
• Imperative Programming
• Object-Oriented Programming
• Functional/Applicative Programming
• Concurrent Programming
|
Title: |
INSS 520 Software Structures |
|
Credits: |
3 credits |
|
Prerequisites: |
All undergraduate prerequisites. Recommended: INSS 510 |
|
|
Students will be expected to have Internet access at home or via the University computer labs as information will be exchanged between face to face sessions. |
|
Name: |
Andy Pickering MSc BA Profile: Before I finish my career I anticipate carrying out intelligent
conversations with my computer “who” no doubt will be as amused with
the concept of the punched card as the current intake of students. Your instructor holds an MSc in Computer Science, a BA in Economics and a Degree level certificate in Business Studies. He has held a variety of jobs outside education including Computer Manager and Software Development Manager providing legal software to many of the biggest companies in the UK, and a few in the US. He has taught both full and part-time for the University of Maryland since 1984, and also been involved on 3 course development collaborations with Adelphi to provide online teaching materials. His main interest outside keeping a well stocked table, is renewable energy and he welcomes any dialogue on either subject. |
|
e-mail: |
apickeri@faculty.ed.umuc.edu or inss@prof2u.com Students are welcome to contact the instructor prior to the start of the course. |
|
Concepts of Programming Languages, 4th edition. Robert W. Sebesta. Addison-Wesley, 1999. ISBN: 0-201-38596-1 Students will be expected to obtain the required text and if possible to have read the first 3 chapters prior to the first meeting. |
For more helpful resources, see:
http://dir.yahoo.com/Computers_and_Internet/Programming_Languages/
http://directory.google.com/Top/Computers/Programming/Languages/
Late submissions will only be accepted at the discretion of the lecturer, and will be returned with fewer or no detailed comments and possibly a reduced grade.
Any work that you do for this class is to be your own. Any violation means that the work will not be accepted and further action will be taken.
Attendance and participation is expected. Students should be prepared to spend a substantial amount of time outside of class. This is normally calculated along the lines of 3 hours outside class for every 1 hour in class.
The final exam is comprehensive and is worth 25% of your overall grade.
Your grade for the course will be determined on the following basis.
|
Item |
|
|
|
| Score | A | 90-100 | |
| Midterm | 15% | B | 80-89 |
| Assignments | 60% | C | 70-79 |
| D | 60-69 | ||
| F | < 60 | ||
| Final Exam | 25% | ||
|
|
|||
Tentative Schedule:
| Date | Topic | Pre-reading | Assignment
| 26 / 27 Jan
| Sat
| Introduction
|
|
TBA
|
|
| History | Visual Basic Chapter 2
|
|
|
| Language Design Criteria | Perl Chapter 1
|
|
| Sun
| Language Processors
|
|
|
|
| Describing Syntax & Semantics | C++ Chapter 3 | [Skim ...]
|
|
| Lexical & Syntax Analysis
|
|
| 09 / 10 Feb
| Sat
| Names, Bindings & Type Checking
| Chapter 4
|
|
|
| Scope
|
|
|
|
| Data Types
| Chapter 5
|
|
|
| Expressions & Assignment Statements
| Chapter 6
|
|
| Sun
| Statement-Level Control Structures
| Chapter 7
|
|
|
| Subprograms
| Chapter 8
|
|
|
| Implementing Subprograms | UM Server, Telnet / Unix / FTP. Chapter 9
|
| 23 / 24 Feb
| Sat
| Midterm
(Chapters 1-7)
|
|
|
|
| Abstract Data TypesVisual Basic Stack
| Chapter 10
|
|
|
| Object Oriented Programming
| Chapter 11
|
|
| Sun
| OOP & C++, OOP & Java
|
|
|
|
| C++ Stack | OOP & Smalltalk
|
|
|
| Functional Programming Languages
| Chapter 14
|
|
|
| Scheme
|
|
| 09 / 10 March
| Sat
| Logic Programming Languages
| Chapter 15
|
|
|
| Prolog
|
|
|
| Sun
| Java Script Presentations
|
|
|
|
| Final Exam --
01:00-16:50 p.m.
| | |||