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. |
|
|