CST 223
Concepts of Programming
Dr. Sherry Yang
PV 171
[email protected]
(541) 885-1594
Course Description
This course introduces students to the fundamental
concepts of programming languages. In particular, it
concentrates on concepts that are not typically found in
traditional languages to which they have already been
exposed. It discusses and compares features of several
popular programming paradigms such as imperative,
object oriented, functional, and logic programming.
Please see the course syllabus on the course webpage for
a list of topics.
Office Hours
MW 11:00 – 11:50, 1:00 – 1:50, W 3:00 – 5:00
 Please email me if you have questions.
 Spring is my busy travel term. I might be gone
on some Thursdays and Fridays.
Evaluation Methods
The final grade, which may range from A to F, is
determined by a composite evaluation of the
student's performance in:
Labs & Homework
Project (Team)
In-Class Exercises (Attendance) 10%
Your grade will be calculated as follows:*
92%+ = A
83%+ = B
70%+ = C
60%+ = D
59%- = F
* Class participation will be considered in evaluating "borderline"
Robert “Concepts of Programming
Languages”, 9th ed., Addison-Wesley, 2010
 Earlier editions are just fine
 Homework problems might be numbered differently in
earlier editions. Refer to scanned textbook pages on
website for correct numbers.
 Sebesta,
Student Responsibilities
Lecture and Lab Attendance:
 Students
are expected to attend all class sessions and
labs. If you know you will be absent on a certain day,
please inform the instructor in advance so
arrangements can be made to provide you with the
material covered. Please make every effort to attend
all class sessions. There will be no make up in-class
 CSET Rule: No Laptops are allowed during lecture.
 No cell phones & texting.
 It might be helpful to have your own laptop in lab
Student Responsibilities
Tests and Final Exam:
 All
tests are open book, open notes. No electronic
devices are allowed.
 There will be no make up tests unless there is an
emergency. If you miss the midterm for any reason,
the weight of the test will be added to the final. No
excuses are necessary.
 In case of emergency, please contact Vice President of
Student Affairs, Dr. Erin Foley’s office. She will
inform all of your instructors.
Student Responsibilities
Academic Dishonesty:
 No
plagiarism or cheating is allowed in this class.
Please refer to your student handbook regarding
policies on academic dishonesty. A copy of the
policy is posted on the class webpage.
 It is okay to get help on your assignments. Please
acknowledge all source of help, including them in the
program documentation as appropriate.
 It is NOT okay to use published instructor’s manual
for the textbook.
Student Responsibilities
Homework & Labs:
 All
homework assignments are typically due in class.
All labs are due at the beginning of next lab period.
There is a 50% penalty for late labs and
homework assignments.
Accommodations for Students with Disabilities
If you have a disability and feel that you may need
accommodation in this course, please speak with
the instructor as soon as possible.
Pair up with another person in the class.
 Get some information about the person (5 mins)
 Name,
Major, Year in school
 Hobbies and interesting things about her/him
Introduce the person to the class.
In-Class Exercise #1
function bar(pf, s, vect)
{ if (vect.length == 1)
return pf(vect[0], s);
return bar(pf, pf(vect[0], s),
Guess what this function does?

CST 116