CMPS 203: Programming languages and Methodology
Midterm
Homework
C++ Example
Hailstone Function Code
Rational Rose UML
Course Information
- Lecture Times:
- TTh 12:00pm - 1:45pm, Applied Sciences 156
- Instructor:
- Prof: Ira Pohl pohl@cse.ucsc.edu
- Office: AS 253C
- Office hours: Tuesday 1:45-3:00
- Teaching Assistant:
- TA: Tracey Sconyers tracey@cse.ucsc.edu
- Office hours: By Appointment
- Class News Group:
- ucsc.class.cmps203
- Required Text:
- Sebesta: Concepts of Programming Languages: 3rd edition, Addison/Wesley
- Course Work Description:
- This course will require a 4000 word term paper on appropriate topic in programming languages. A comprehensive midterm will be given in the 8th week of the course, and there will be approximately 4 programming assignments. All work will be done individually. The assignments are to be done individually, not in groups. You may freely give and receive help with the computer facilities, editors, UNIX, debugging techniques, the meaning and proper use of programming constructs, etc. It is also perfectly permissible to discuss general approaches and algorithms with your classmates. However, copying any part of another person's program, or allowing your program to be copied is cheating and will not be tolerated. An automatic program will be in use to detect cheating. If you have any questions on this important point, please see me.
- Term Paper Topic Suggestions:
- Comparison of several languages with respect to some criteria- such as languages for real-time programming.
- Criticism in depth of some programming language.
- Description of a given feature and how it is implemented across a large number of languages, such as array semantics.
- Your own proposal.
- Note: There will not be a final. The term paper will be due at the beginning of finals week.
- Evaluation:
-
- Bi-Weekly homework/programming assignments (30%).
- Midterm (30%).
- Term Paper (40%).
- Syllabus:
-
- History of programming languages
- Algol 60 and its descendants, imperative languages
- Object-Oriented Languages
- Java and C++
- Use of UML, Design patterns
- Scripting Languages: Perl
- Functional Languages
- MidTerm
- Logic Languages
- Selected Topics
- Links to Related Material:
-
- Ada at SE Lab of Swiss Fed Inst Tech
- Ada, C, C++, and Java vs Steelman (Wheeler)
- C traps and pitfalls (gzip) (Koenig)
- C++ critique, programming language trends of the 1990s (postscript) (Joyner)
- Cobol, Smalltalk, C++
- Coding Standards
- Common Lisp the Language, 2nd Edition, HTML (Steele)
- Critiques of programming languages
- Eiffel .com
- Eiffel: the page
- Fortran 90 and Computational Science
- Garbage coll, C & C++
- Garbage coll, faster than stack (postscript) (Appel)
- Garbage coll, generational (postscript) (Appel)
- Garbage coll, the page
- Garbage coll, uniprocessor techniques (postscript) (Wilson)
- HTML-3.2 spec
- Icon @arizona.edu
- INTERCAL
- Java cmps060g notes
- Java Cookbook, C++
- Java FAQ (comp.lang.java)
- Java language specification
- Java tutorial (Cup o' Joe)
- Java tutorial (Javasoft)
- Javasoft.com
- Language List, all known
- Limbo Dis Styx Inferno (Lucent)
- Limbo programming language
- Limbo, descent into (Kernighan)
- MMIX 2009 RISC (Knuth)
- OO 16 ways to Stack a cat (postscript) (Stroustrup)
- OO programming, what is (postscript) (Stroustrup)
- Pascal is not my favorite programming language, why (postscript) (Kernighan)
- Perl .com
- Perl .org
- Perl resources @missouri.edu
- Postscript, first guide
- Research, programming languages
- Retrocomputing Museum
- Sather home page
- SML FAQ
- SML gentle intro (Cumming)
- SML information (foxnet)
- SML intro (postscript) (Harper)
- SML lectures (Tofte)
- SQL tutorial
- Threads, programming (postscript) (Birrell)
- Troff user's manual (postscript)
Questions or comments about this page may be addressed to baucom@gorby.ucsc.edu.