Department of
Mathematics and Computer Science
Adelphi University
Fall 2015
| 0145-270-001   | Survey of
  Programming Languages - 3 credits MW
  02:25pm-03:40pm in SWL Gallagher Visiting
  Assistant Professor Kristin Pepper  102
  / 103 Post Hall until move to SCI 408 (516)
  297-5241 | 
| Office Hours | Monday       8:20 - 8:50; 11:00 – 12:00 ; 1:00 –
  2:15 Wednesday
  8:20 - 8:50; 11:00 - 12:00 Friday          8:20 - 8:50; 11:00 – 12:15   | 
| 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. | 
| Course Learning
  Goals | Students
  will demonstrate the ability to code in a procedural language by writing C
  programs utilizing arrays and pointers. Students will practice Object
  Oriented concepts by coding C++ programs with interacting classes.  Coding in Racket will show familiarity with
  functional coding.  Students will be
  introduced to declarative programming when they design simple Prolog scripts.
  Students will demonstrate that they can choose the appropriate language for
  any given assignment by using at least 2 of the 4 course languages for a
  final puzzle making group project.  | 
|  |  | 
| Prerequisite | CSC172 | 
| Required Texts | Deitel, Paul and Harvey Deitel   C How to Program, Eigth
  Edition. New York: Pearson, 2016 .  Choose
  one version 
 Myprogramminglab will use a code of
  ADEL-21114-AVAQ-26. Find registration
  instructions on my web site at http://home.adelphi.edu/~pe16132/csc270/myprogramminglab.html We
  will use some free problets: http://problets.org/user/f15/ Recommended:
  a 4 gb flash drive 
   | 
| Recommended Texts | Bloch,
  Steve. Picturing Programs. London: College Publications, 2010.  (ISBN 9781848900158) Also available at http://picturingprograms.com/ Blackburn, Patrick, Johan Bos and Kristina Striegnitz. Learn Prolog Now. London: College Publications, 2006. (ISBN 9781904987178) Also available at http://www.learnprolognow.org Downey,
  Allen B and Thomas Scheffler. How to Think Like a
  Computer Scientist. 1999. https://prof.beuth-hochschule.de/fileadmin/user/scheffler/Lehre/Think-C_v1.08.pdf A
  flash drive is also recommended.  | 
| Topics | 
    NOTE
  ON FINAL EXAMS:  All students must take the final exam at the scheduled
  time according to the final exam schedule ( http://ecampus.adelphi.edu/registrar/exams.php  ) | 
| Major Assignments | Assignments
  can be done using Adelphi’s Panther machine. Access Panther via the free
  programs filezilla and putty.  Filezilla:
  https://filezilla-project.org/ Putty:
  http://www.chiark.greenend.org.uk/~sgtatham/putty/ You
  may also choose to work locally, but must verify code works on panther before
  submitting homework. Find free local alternatives at http://home.adelphi.edu/~pe16132/csc270/setup.html  A
  set of Codelab http://www.turingscraft.com   C and C++ program assignments. Codelab
  (and your professor) will give you hints when you are stuck.  A
  final group project will involve creating a puzzle and coding a vehicle to
  solve that puzzle. The puzzle model will be shown as a picture. The entire
  project will use 3 languages, and involve passing some data between the three
  languages, even if only by working on the same file. Students will have a
  chance to develop teamwork skills and to explore all aspects of functions
  needed for their project.  | 
| Grading | The
  midterm must be completed as a minimum for credit. Each exam must be taken at
  the time scheduled. 10% will be dropped for anything 1 week late. Be sure to back up your classwork
  frequently so that you do not lose work.  The
  course grading scale is: A 93-100, A- 90-92, B+ 87-89, B 83-86, B- 80-82, C+
  77-79, C 73-76, C- 70-72, D 60-69, and F is below 59. A+ is given at the
  professor's discretion.  The
  final grade will be a traditional letter grade (A-F). Excessive absences,
  lateness, and any activities which run counter to the best interests of the
  class will be deducted at the end of the semester from the final grade as a
  percentage to be determined by the professor.  Grade
  Percentages:   C
  and C++ Tests plus all Quizzes - 30%  
  Final Puzzle Project – 15%  Assignments - 35%  Cumulative Final  - 20% | 
|  |  | 
| 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.  If the University is closed for any class session
  due to an emergency, log onto this course site under the MOODLE tab in eCampus each day for instructions and assignments. Please check your Moodle News on snow
  closing days as snow days may be replaced with online instruction.   | 
| Moodle  | Most
  course materials will be delivered through Moodle. The All Assignments task
  will describe all assignments and due dates. Use Moodle to hand in all
  assignments. A Moodle tutorial can be found at http://fcpe.adelphi.edu/moodle/student/  | 
This
is a weekly schedule. All reading should be done by the beginning of the week.
The professor reserves the right to change this schedule. 
| Date | WK | Subject | Assigned
  Reading | 
| 8/31, 9/2 | 1 | Intro,
  Functions, Recursion | Downey
  2-5     | 
|  9/9, no class 9/7 | 2 | Loops
  and Static arrays  | Downey
  6-7 OR Deitel 5-6 | 
| 9/14, 9/16  | 3 | Pointers
  and Dynamic Arrays | Deitel 7 & 14.9 | 
| 9/21, 9/23  | 4 | Strings, Formatted Input/Output,  Prolog - Facts, Rules and Queries  | Downey 8 OR Deitel 8 & 9  Blackburn 1 | 
| 9/28, 9/30 - 9/28 last day to drop a course | 5 | Structures and Bit Manipulation   File I/O Prolog - Unification and Proof Search | Deitel 10, 11  & 12 Blackburn 2 | 
| 10/5, 10/7  | 6 | Review  10/7
  C Programming  & Prolog intro Test  | |
| 10/12, 10/14  | 7 | C++
  Intro to differences from C & class creation, Constructors, String Introduce Final
  puzzle project | Deitel 15 & 16   | 
| 10/19, 10/21  | 8 | C++
  Separate Interface from Implementation, Class Destruction,    Prolog Recursion | Deitel 17, 18,  Blackburn 3 | 
| 10/26, 10/28  | 9 | Inheritance
  and Polymorphism;   | Deitel 19, 20  Final Puzzle project doc due | 
| 11/2, 11/4  | 10 | File
  I/O | Deitel 19, 21, 23 | 
| 11/9, 11/11  | 11 | C++
  Review;   | |
| 11/16, 11/18  | 12 | 11/16 C++
  Programming test
   Racket
  – syntax, functions, variables,  | Bloch
  1-6; Bloch
  20 – 22 | 
| 11/23,   - no class
  11/25   | 13 | Racket
  – lists and structures | Bloch
  29 | 
| 11/30, 12/2  | 14 | Prolog List processing | Blackburn  4 & 5 | 
| 12/7, 12/9  | 15 | Review Final Project | Final puzzle project due | 
| 12/14, - finals 12/15 - 12/21 |  | Final
  test with date based upon Adelphi’s final exam
  schedule.    |  | 
| 12/22 & 23 | Makeup days if needed |  | 
 
| Turnitin | Adelphi
  University has a license agreement with Turnitin.com, a service that helps
  prevent plagiarism from Internet resources. I reserve the right to request an
  electronic copy of any written assignment submitted in this course for review
  through Turnitin.com. Please see Adelphi's tips for students on preventing
  plagiarism and student instructions for Turnitin.com for more information. | 
| Students With
  Disabilities | If you have a
  disability that may significantly impact your ability to carry out assigned
  coursework, please contact the Office of Disability Support Services (DSS),
  located in Room 310 of the University Center, 516-877-3145, dss@adelphi.edu. 
  The staff will review your concerns and determine, with you,
  appropriate and necessary accommodations. When possible, please allow for a
  reasonable time frame for requesting ASL Interpreters or Transcription
  Services; a minimum of four (4) weeks prior to the start of the semester is
  required.* | 
| 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 
 Avoid
  coding plagiarism: Any code you even
  vaguely take from the internet needs
  to be cited in comments. If an algorithm
  you found was used as a basis, cite it. Any person helping you, even a tutor, needs to be listed in the
  comments. If you work with another person doing homework, include them in
  your comments.  If you include any
  piece of code you do not fully understand for your final project, comment
  that you are using it as a black box.
  You are responsible for explaining how every piece of code works except those
  you designate as "black box" portions. | 
| 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. | 
 
|  |  |