Department of Mathematics and Computer Science

Adelphi University

 

CSC 171

Introduction to Computer Programming

Sections 002 (Lecture), 020 (Lab)

Fall Semester 2018

Lecture: MWF 12:00 PM - 12:50 PM, Swirbul Library, Rm 100

Lab: MW 2:25 PM - 3:40 PM, Science Building, Rm 227

 

Dr. David Chays

OFFICE HOURS: Mon. 4:00 - 6:00PM; Wed. 3:45 - 4:45PM; Fri. 2:00 - 3:00PM and by appt.

OFFICE: Science Building room 406 (4th floor)

EMAIL: chays@adelphi.edu

PHONE: 516-877-4479

 

SYLLABUS

 

COURSE DESCRIPTION AND PURPOSE:

 

Develop a solid foundation in a modern programming language, concepts of programming such as variables, datatypes, functions, I/O, parameter-passing, assignment, classes, collections, arrays, conditionals, and loops. Understand techniques of analysis, design, testing, documentation, coding, and debugging. 

 

To receive credit for this course, you must be registered for both the lecture section and the corresponding lab section.

 

This is the introductory course for students interested in majoring in Computer Science (CS) or Computer Management & Information Systems (CMIS). This is a 4-credit course, meeting for 2.5 hours of lecture and 2.5 hours of lab every week; you should therefore budget an additional 5 hours per week for homework assignments. Learning to program takes a significant amount of time and practice. Furthermore, since the topics are cumulative and each new topic builds on previous ones, this course requires a continuous effort throughout the semester.

 

GEN ED LEARNING GOALS/DISTRIBUTION REQUIREMENTS:

Quantitative reasoning

 

COURSE LEARNING GOALS:

 

 

COURSE PREREQUISITES:

 

No prerequisites. Non-CS majors should consider taking CSC 160 first or instead.

 

STUDENT ACCESS OFFICE:

 

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- 3145 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 STATEMENT:

 

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
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 not approved by the professor
  3. Unauthorized multiple submission of one's own work
  4. Sabotage of others' work, including library vandalism or manipulation
  5. Plagiarism
  6. The creation of unfair advantage
  7. The facilitation of dishonesty
  8. Tampering with or falsifying records
  9. Cheating
  10. Other forms of academic dishonesty

 

STUDENT COURSE EVALUATIONS:

During the last two weeks of the class, you will receive notification, via email 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.

 

COURSE OR MATERIALS FEES:

 

You need to purchase a $25 subscription to CodeLab; further instructions will be provided during lab and on the course website.A flash drive is recommended to save your work at the end of lab.

 

ASSIGNMENTS/COURSEWORK:

 

Homeworks are to be done individually unless specified otherwise, and are due at the start of the class on the due date. Late penalties will be assessed and will depend on how late an assignment is, the difficulty of the assignment and individual circumstances. Homework assignments will be posted on the assignments link of the course webpage.

 

COURSE WEBSITE:

 

Check the course website ( http://www.adelphi.edu/~chays/csc171 ) often, as all course materials will be posted here, including slides, examples, assignments, labs, tutoring schedule, announcements and information about CodeLab and other resources.

 

TEXTS:

 

Required: Java Software Solutions - Foundations of Program Design, by John Lewis and William Loftus, Addison Wesley Publishing Company. Edition 4 or higher is acceptable.

 

Recommended: Building Java Programs: A Back to Basics Approach, by Stuart Reges and Marty Stepp, Addison Wesley Publishing Company.

 

GRADING/EVALUATION:

 

Your average, calculated according to the grading key (see below), will be translated to a letter grade according to logical breaks in the distribution ( >91 = A, 90-91 = A-, 88-89 = B+, 82-87 = B, 80-81 = B-, 78-79 = C+, 72-77 = C, 70-71 = C-, 68-69 = D+, 62-67 = D, 60-61 = D-, 0-59 = F). A grade of A+ is earned for consistent, exceptional work (an average greater than 98).

 

Grading Key:

 

Assignments

20%

Lab Grade

10%

CodeLab

10%

Quizzes

10%

Classroom behavior, participation, helping classmates appropriately (as discussed)

5%

Midterm Exam

20%

Final Exam

25%

 

LABS

 

On the tutoring link of the website, I will post the tutor's comments regarding the importance of the lab. In the lab, you may work in teams of two (pair programming, as discussed in class). The lab grade will be based on your active participation in the lab. Active participation means showing up, working on the exercises (and not other unrelated activities such as web surfing, e-mail, games, etc) and demonstrating progress. Progress should be demonstrated incrementally, i.e. show me your work as you complete it, not all at once. A lab exercise submitted more than 2 weeks after it was assigned will not be accepted.

 

CODELAB

CodeLab is an online program for learning and practicing computer programming. CodeLab is available to you anywhere you have access to the world wide web. It is delivered and supported by a company called Turing's Craft. Their home page is turingscraft.com . Further information will be provided and posted on the course website.

 

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.

 

Since the material in this course is cumulative, it is easy to fall behind if you do not attend regularly. In past semesters, students who attended regularly and actively participated performed much better on exams than those who did not. Attendance will be taken at the beginning of lecture and at the beginning of lab; after five unexcused absences, your grade will be lowered by one-third of a grade (e. g., A to A- or A- or B+) and after seven by one full grade (e.g., A to B). Three unexcused latenesses count as one absence. You are also responsible for anything covered in class (including course material, assignments, and relevant announcements) whether or not you are here. Absence from quizzes, the midterm and 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.

 

 

COURSE TOPICS OUTLINE

 

The order of topic coverage will generally follow the chapters in the required textbook, with supplementary material added, as noted below:

Java programs comprise classes, which comprise methods, which comprise statements. To facilitate learning how to write programs consisting of multiple classes, we will build towards this from simple to complex, starting with a single class with a single method, then a single class with multiple methods, then two related classes (a Driver class which uses a Blueprint class), and finally, programs consisting of potentially many classes. To facilitate the transition from a program consisting of single class with a single method to a program consisting of multiple classes with multiple methods, supplementary material and examples will be provided.

 

Here is a more detailed list of topics that will be covered by the end of the semester:

·  Primitive Data and Objects

·  Expressions, Data Types and Conversion

·  Program Statements

·  Stepwise Refinement

·  Conditional Statements

·  Loop Statements and Nested Loops

·  Method Decomposition

·  Parameter Passing

·  Scope of variables

·  Pre-defined data types (refer to Java's online documentation)

·  User-defined data types

·  Driver and Blueprint classes

·  Comparing data (according to the data type)

·  Arrays (declaring, assigning and passing as parameters arrays of primitives and objects, command-line arguments)

·  Additional Topics TBA (e.g. intro to graphics)

 

NOTE ON FINAL EXAMS:  All students must take the final exam at the announced time based on the university's final exam schedule.

 

By taking the course and by attending Adelphi University, you agree to these conditions. Please see me at any time with questions.

 

A copy of this syllabus will be posted on the course website.

Any changes will be announced and posted.