CS 3120 Winter 2005 Home Page
CS 3120 - Programming Language Concepts - 4 Credits 

Instructor: David Yang (e-mail: dyang@csuhayward.edu, 885-3449 (but if you need to leave a message, send email))

In this course, we will:

  • examine in more detail the choices that are made when designing a programming language,
  • study how common features in languages are implemented by the machine
  • and gain experience with styles of programming other than the object-oriented and procedural styles you've experienced so far

I hope that after this course you will feel more comfortable picking up new languages as well as new packages in languages you have already used. Rather than trying to decide which is the "best" programming language, you should be able to analyze the strengths and weaknesses of a language so you cn decide when to use it. Also, you should be better prepared for some later courses in computer science, including compilers and artificial intelligence.

The material for this course course is covered in part of the comprehensive exam.

Prerequisites:
CS 2360 Programming Methods and Introduction to Software Engineering
CS 2430 Computer Organization and Assembly Language Programming

Text:
Pratt and Zelkowitz, Programming Languages: Design and Implementation, 4th ed., 2001, Prentice-Hall, ISBN: 0-13-027678-2.

Calculation of your grade:There will be two exams during the quarter, worth 20% each. The final is worth 30% of your final grade. Written assignments are worth 15% of your grade. Programming assignments are worth 15% of your grade.

Lateness: Assignments need to be submitted to me through Blackboard by the deadline. Exceptions will be made under extreme conditions, but this would mean something like school closing/power outage.

Final grades will be given according to the following scale: 

93-100 A, 90-92 A-, 87-89 B+, 83-86 B, 80-82 B-, 77-79 C+, 73-76 C, 70-72 C-, 

67-69 D+, 60-66 D, 0-59 F

Academic Honesty: This course will follow the University's standard policy on academic dishonesty. In particular, any cheating, or assisting another students cheating on any test, or the final exam will be penalized by either a zero on the test, or by failure of the course, at my discretion.

Finally, if you cheat (whether you do the copying or let someone copy) twice during this course, you will automatically fail the course. Remember that the University may inflict further penalties than listed here under the provisions of the published Academic Dishonesty Policy. 

Attendance: I will take attendance through the end of the add/drop period. Note that while I will be uploading lecture notes to Blackboard after the lecture, they sometimes include material not covered in the text, and they include thought questions for class discussion that won't always be answered within the notes.

Classrooms: 

Monday, Wednesday, Friday 9:20-10:30am Science South 125

Office Hours

Click here for the class schedule


 
This webpage's layout is originally from Bill Parkinson, who used to teach in the evening program at St. Joseph's University. Much of the content is lifted from Steve Cooper's version of this course -- in particular, the project documents were designed by him, though parts are adapted from elsewhere.