CSC 270 - Survey of Programming Languages

Dr. R. M. Siegfried

407 Science      (516)877-4482      siegfrie@adelphi.edu (NOT for homework submission)

Office Hours - Tu 10AM-12Noon; W 11:00-11:50AM; F 1-2PM

Course Home Page | Announcements | Syllabus | Class notes | Assignments

Course Description and Purpose

Learn to use different approaches to programming, and languages and language features that support them: object-oriented (e.g. C++, Java), functional (e.g. Scheme, Haskell), and logical (e.g. Prolog). By the end of the course, students can learn new languages quickly, and choose appropriate language and approach(es) for any given programming assignment.

Gen Ed Learning Goals and Distribution Requirements

Course Learning Goals

Prerequisite

CSC 172

Texts

Topics

Assignments

The assignments this semester will require students to use DrRacket to design, code, debug and submit programs written in the Scheme (Racket) programming languages. Students will be expected to use vi or another text editor and the gcc and g++ compilers on Panther to design, code, debug and submit programs written in C and C++. Students will be expected to use SWI Prolog to design, code, debug and submit programs written in Prolog. Students are expected to install DrRacket, SWI Prolog and PuTty or alternate programs that are approved by the instructor if they wish to work on assignments on their personal computers. NO ASSIGNMENTS WILL BE ACCEPTED BY E-MAIL.

While there will be opportunities to use class time for assigned work, this will be mainly limited to debugging and other assistance that students require in class. One should expect to spend 4-6 hours outside class working on programming assignments for this class.

Grading

Each programming assignment will be graded with a base grade of 90%, with points added to reflected areas in which the assignment exceeded specified requirements and/or points deducted to show areas where the assignment is deficient.

Late penalties may be assessed of 2 points per class after the due date.

The final average will be weighted (based on the following ratio:

Programming Assignments 30%
In-class Exams 35%
Final Exam 35%

The final average will translate to a letter grade according to the following table:

Final Average Course Grade
A 90 – 100
A- 87.5 – 89.9
B+ 83.3 – 87.4
B 80.0 – 83.2
B- 77.5 – 79.9
C+ 73.3 – 77.4
C 70.0 – 73.2
C- 67.5 – 69.9
D+ 63.3 – 67.4
D 60.0 – 63.2
F 0.0 – 59.9

Attendance

The following is the Adelphi University General Attendance Policy:

Only students who are registered for courses, and whose name appears on the Official Class Roster may attend courses at the University. Adelphi students make a commitment to be active participants in their educational program; class attendance is an integral part of this commitment. Attendance requirements for each course will be announced by the faculty member at the beginning of each term. Students are expected to be present promptly at the beginning of each class period, unless prevented by illness or by other compelling cause. In the event of such absence, students may request that faculty members be notified by the Office of Academic Services and Retention. Students are responsible for completing course work missed through absences. Students should wait a reasonable length of time for an instructor in the event that the instructor is delayed.

Additionally, you are also responsible for whatever work is covered in class whether or not you are there. Absence from the final exam will be excused only for a good and well-documented reason. The decision to allow a make-up exam will be made in accordance with the policies of Adelphi University.

NB: The class will NOT meet on Friday, September 22. We will make up this class by meeting on Tuesday December 5.

Additionally, Friday, October 6 and Friday, October 13 will be lab days. Attendance will be taken and you will have the opportunity to submit assignments that are due.

NB:If the University is closed for more than two days due to an emergency, go the home page for this course site each day for instructions and assignments. Student instructions materials can be found at http://home.adelphi.edu/~siegfried/cs270

Tentative Schedule (Subject to Change)
Tentative Schedule (Subject to Change)
Date Topic Assignment due
August 28 Getting Started in C
August 30 Modular Programming I: Functions in C Assn 1 - Converting a temperature from Kelvin to Celsius and Fahrenheit
September 1 Lab Assn 2 - Finding out the batting averages for the starting line-up
September 6 Arrays and Structures in C Assn 3 . A payroll program that uses functions
September 8 Strings in C
September 11 Lab
September 13 Bitwise Operator and Operations Miscellany in C Assn 4 . Replacing .is. with .was.
September 15 Pointers and Dynamic Arrays in C
September 18 Lab Assn 5 . Working with Bitwise operators
September 20 Input/Output in C Assn 6 . Manipulating a Dynamic Array in C
September 22 No class . to be made up on December 5
September 25 Review for C Exam Assn 7 . Using Text Files for input and output in C
September 27 Exam on C
September 29 C++ As A Better C Assn 8 . Using binary files in C
October 2 Strings in C++ Assn 9 . Calculating the batting averages in C++
October 4 Introducing Objects in C++
October 6 Lab Assn 10 - Manipulating a Dynamic Array in C++
October 11 More on Writing Classes in C++
October 13 Lab Assn 11 . Replacing .is. with .was using C++.s String class
October 16 Inheritance in C++
October 18 Exception Handling in C++ Assn 12 - Finding the Average of Numbers Stored in a Text File in C++
October 20 Lab Assn 13 . Creating a phone book
October 23 Review for Exam on C++ Assn 14 . Finding the average of non-negative numbers
October 25 Exam on C++
October 27 Processing Simple Forms of Data in Scheme
October 30 Conditional Expressions and Programs in Scheme Assn 15 . Evaluating Expressions
November 1 Symbolic Information in Scheme Assn 16 - Calculating Distance Traveled
November 3 Compound Data I: Structures in Scheme Assn 17 - Avoiding the Speed Trap
November 6 The Varieties of Data in Scheme Assn 18 - Avoiding the Speed Trap II: Printing a Message
November 8 Syntax and Semantics in Scheme Assn 19 - Converting Feet and Inches to Inches
November 10 Compound Data II: Lists in Scheme Assn 20 - How High Is Your Income Tax?
November 13 More on List Processing in Scheme Assn 21 - A More Realistic Payroll Program
November 15 Review for Exam on Scheme Assn 22 - "Is he or she tall?"
November 17 Exam on Scheme Assn 23 - Finding the area of a circle, square or rectangle
November 20 Facts, Rules and Queries in Prolog Assn 24 - Searching a List for an Item
November 27 Unification and Proof Search in Prolog Assn 25 - The Average of Numbers on a List
November 29 Recursion in Prolog
December 4 Lists in Prolog Assn 27 . Ex. 1.1, 1.2, 1.4
December 5 Arithmetic in Prolog
December 6 Review for Exam on Prolog Assn 28 . Ex 2.1, 2.2, 2.3
December 8 Prolog Exam Assn 29 . Ex 3.1, 3.2, 3.4
December 11 Review for Final Exam
TBA Final Exam

Students With Disabilities

If you have a disability that may significantly impact your ability to carry out assigned coursework, please contact the Student Access Office (SAO) at 516-877-3806 or send an email to sao@adelphi.edu. The staff will review your concerns and determine, with you, appropriate and necessary accommodations. Please allow for a reasonable time frame for requesting ASL Interpreters or Transcription Services.

Honor Code

Students enrolled in this course are expected to abide by the Adelphi University Honor Code. The purpose of the Honor Code is to protect the academic integrity of the University by encouraging consistent ethical behavior in assigned coursework by students. Following is excerpted from the Student Honor Code:

The code of academic honesty prohibits behavior, which can broadly be described as lying, cheating, or stealing. Violations of the code of academic honesty will include, but are not limited to, the following:

  1. Fabricating data or citations
  2. Collaborating in areas prohibited by the professor
  3. Unauthorized multiple submission of work
  4. Sabotage of others’ work, including library vandalism or manipulation
  5. Plagiarism: presenting any work as one’s own that is not one’s own
  6. The creation of unfair advantage
  7. The facilitation of dishonesty
  8. Tampering with or falsifying records
  9. Cheating on examinations through the use of written materials or giving or receiving help in any form during the exam, including talking, signals, electronic devices, etc.

Student Course Evaluations

During the last two weeks of the class, you will receive notification, via mail and eCampus, that the course evaluation is available for your input electronically. Availability will end at the start of the final examination period. Your feedback is valuable and I encourage you to respond. Please be assured that your responses are anonymous and the results will not be available to the instructor until after the end of the semester and therefore after course grades have been submitted.


Tear off this and return with information required below:


STUDENT ACKNOWLEDGEMENT:

I HAVE RECEIVED AND READ THE SYLLABUS FOR [INSERT COURSE NUMBER AND SECTION].

SIGNED: __________________________________________

PRINT NAME: _________________________________________

DATE: ___________________________


Warning – This page must be signed and returned to the instructor to receive a complete grade in this course.