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

Instructor: David Yang (e-mail: david.yang@csueastbay.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. New languages are cropping up all the time, and regardless of whether you take a job where you are actively programming or a job that makes use of technology, you will almost certainly be faced with understanding the purpose and value of new languages if not actually learning to apply the language.

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, this course serves as preparation for later courses in computer science. There will be a lot of practice with recursion, which shows up in many places in computer science, both theoretical and practical. We will cover material that should be particularly useful for 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:
Sebesta, Concepts of Programming Languages, 7th ed., 2006, Pearson, ISBN: 0-321-33025-0.

Calculation of your grade:There will be quizzes worth 40% of your grade. The final exam is cumulative and worth 30% of your final grade. Homework assignments (written and programming) are worth 30% 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

[grading note: Your exams must average (using the relative weights above) out to a C- or better in order to get at least a C- in the course.]

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: Attendance is essentially mandatory. Quizzes will generally be given on Mondays, while Wednesdays will include a lot of lab work.

Classrooms: 

Monday, Wednesday 6pm-7:50pm Science North 221 and a lab room

Office Hours

Click here for the class schedule (to try to get a bit more current, this is in XML with an XSL style file, so you should open this with IE 6.0)


 
This webpage's layout is originally from Bill Parkinson, who used to teach in the evening program at St. Joseph's University.