Survey of Programming Languages Dr. R. M. Siegfried 407 Science (516) (not for homework submission)

Similar documents
The Linux Command Line: A Complete Introduction, 1 st ed., by William E. Shotts, Jr., No Starch Press, 2012.

MWF 9:00-9:50AM & 12:00-12:50PM (ET)

INFS 2150 (Section A) Fall 2018

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

CISC 3130 Data Structures Fall 2018

Syllabus for HPE 451 Directed Study 1-3 Credit Hours Spring 2014

CS503 Advanced Programming I CS305 Computer Algorithms I

WAYLAND BAPTIST UNIVERSITY VIRTUAL CAMPUS SCHOOL OF BUSINESS SYLLABUS

Updated: 2/14/2017 Page 1 of 6

You must pass the final exam to pass the course.

ESET 349 Microcontroller Architecture, Fall 2018

CSCE 441 Computer Graphics Fall 2018

IT-2670: C/C++ PROGRAMMING LANGUAGE

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

MGMT 4336 Networks & Data Communication Section D10

ECONOMICS 5317: CONTEMPORARY GOVERNMENT AND BUSINESS RELATIONS

Business Information System Analysis and Design Fall 2017

COURSE NUMBER: ISS 214 COURSE NAME: Connecting Networks - Cisco 4 SEMESTER CREDIT HOURS: 4.

San José State University College of Science/Department of Computer Science CS 152, Programming Language Paradigms, Section 03/04, Fall, 2018

HARFORD COMMUNITY COLLEGE 401 Thomas Run Road Bel Air, MD Course Outline Routing and Switching Essentials [CISCO 2] ISS 112

ISM 324: Information Systems Security Spring 2014

CS 241 Data Organization using C

Web Programming Fall 2011

Syllabus for CSC 455 Database Systems 3 Credit Hours Spring 2012

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Fall 2017

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

GET 433 Course Syllabus Spring 2017

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

CPS352 Database Systems Syllabus Fall 2012

Course Syllabus. Course Information

Course and Contact Information. Course Description. Course Objectives

COLLEGE OF DUPAGE CIS 2542 Advanced C++ with Data Structure Applications Course Syllabus

CSC 111 Introduction to Computer Science (Section C)

CISC 3130 Data Structures Spring 2018

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

BRAZOSPORT COLLEGE LAKE JACKSON, TEXAS SYLLABUS COSC 1320: INTRODUCTION TO C++ PROGRAMMING COMPUTER TECHNOLOGY & OFFICE ADMINISTRATION DEPARTMENT

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

CISN 340 Data Communication and Networking Fundamentals Fall 2012 (Hybrid)

Syllabus for HPE 120 Dance Aerobic Proficiency 0.0 Credit Hour Spring 2012

Object-Oriented Programming for Managers

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

Computer Science 1321 Course Syllabus

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

ESET 369 Embedded Systems Software, Fall 2017

Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Fall 2012

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ADVANCED DATABASE MANAGEMENT SYSTEMS CSIT 2550

Beijing Jiaotong University CS-23: C++ Programming Summer, 2019 Course Syllabus

Syllabus: Capstone Web

Syllabus. ICS103: Computer Programming in C 2017 / 2018 First Semester (Term 171) INSTRUCTOR Office Phone Address Office Hours

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345

Division of Engineering, Computer Programming, and Technology

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

Syllabus for HPE 099 Aerobic Proficiency 1 Credit Hour Spring 2015

CSCI 201L Syllabus Principles of Software Development Spring 2018

EECE.2160: ECE Application Programming Spring 2019

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

Cleveland State University

CS 0449 Intro to Systems Software Fall Term: 2181

Compulsory course in Computer Science

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

INF 315E Introduction to Databases School of Information Fall 2015

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

CSCE 206: Structured Programming in C

Introduction to Programming System Design CSCI 455x (4 Units)

Syllabus for HPE 076 Varsity Volleyball (Women) Sports 1 Credit Hour Fall 2014

CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

JOHNSON COUNTY COMMUNITY COLLEGE COURSE SYLLABUS WEB CRN Web Scripting: JavaScript I

C Programming for Engineers Introduction

Introduction to UNIX

Course Title: Computer Networking 2. Course Section: CNS (Winter 2018) FORMAT: Face to Face

BRAZOSPORT COLLEGE LAKE JACKSON, TEXAS SYLLABUS. ITNW 2313: NETWORKING HARDWARE Online Course Version COMPUTER TECHNOLOGY DEPARTMENT

CPSC 5157G Computer Networks

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS LINUX ADVANCED SYSTEM & NETWORK ADMINISTRATION CSIT 2475

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS. INTRODUCTION TO INTERNET SOFTWARE DEVELOPMENT CSIT 2230 (formerly CSIT 2645)

Introduction to Computers & Their Use

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ROUTING/SWITCH CONFIGURATION CSIT 2750

A: 90% - 100% B: 80% - <90% C: 70% - <80% D: 60% - <70% F: < 60% Important Dates:

Gerlinde Brady Phone: Office Hours: see Web at:

IST359 - INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

CS 3030 Scripting Languages Syllabus

Syllabus for HPE 034 Varsity Cheerleading and Fitness 1 Credit Hour Fall 2014

BEMIDJI STATE UNIVERSITY COLLEGE OF BUSINESS, TECHNOLOGY AND COMMUNICATION Course syllabus Fall 2012

COURSE SYLLABUS AND INSTRUCTOR PLAN

CSE 504: Compiler Design

SOUTHERN UNIVERSITY AND A&M COLLEGE DEPARTMENT OF MATHEMATICS MATH 250 TOPICS IN GEOMETRY

CPSC 4600 Biometrics and Cryptography Fall 2013, Section 0

Computer Science Department

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

COURSE SYLLABUS BMIS 326 INTRODUCTION TO ORACLE

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

SAULTCOLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO COURSE OUTLINE

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS LINUX SYSTEM ADMINISTRATION CSIT 2411

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

Transcription:

Department of Mathematics and Computer Science Adelphi University Fall 2017 0145-270-002 Survey of Programming Languages Dr. R. M. Siegfried 407 Science (516)877-4482 siegfrie@adelphi.edu (not for homework submission) Office Hours Course Description and Purpose Gen Ed Learning Goals and Distribution Requirements Course Learning Goals Tu 10AM-12Noon; W 11:00-11:50AM; F1-2PM 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. Quantitative Reasoning Formal Sciences Students will be able to write basic programs in the Scheme and Prolog programming languages and how to write object-oriented programs in the C and C++ programming languages. Prerequisite CSC 172 Texts C: How to Program, 8 th ed. by Paul Deitel and Harvey Deitel, Pearson, 2016. How to Design Programs: An Introduction to Programming and Computing, 1 st ed., by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi, The MIT Press, Cambridge, MA, 2001. (also available at http://htdp.org) Learn Prolog Now! (Texts in Computing, Vol. 7) by Patrick Blackburn, Johan Bos, and Kristina Striegnitz. College Publications, London, 2006. (also available at http://www.learnprolognow.org) Topics C: Getting Started in C Modular Programming I: Functions Arrays and Structures Strings Bitwise Operations

C++: Pointers and Dynamic Arrays Input/Output in C C++ As A Better C Dynamic Arrays in C++ Strings Classes, Constructors and Destructors Separate Compilation and Namespaces File I/O Inheritance, Polymorphism and Virtual Functions Exception Handling Scheme: Processing Simple Forms of Data Conditional Expressions and Programs Symbolic Information Compound Data: Structures and Lists The Varieties of Data Syntax and Semantics Natural Numbers An Extended Example: Sorting Prolog: Facts, Rules, and Queries Unification and Proof Search Recursion Lists Arithmetic Definite Clause Grammars Cuts and Negation 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. While there will be opportunities to use class time for assigned work, this will usually be 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. Students are expected to turn in assignments in hardcopy; if you wish, you may submit it through Moodle. NO ASSIGNMENTS WILL BE ACCEPTED BY E-MAIL. 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 welldocumented 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. 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) 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 September 11 September 13 Strings in C Lab 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 Assn11 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 Honor Code 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: 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.