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.
CSC 172
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.
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 |
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
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 |
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.
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:
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.