Intro to computer science, CSCI-UA.0101-003 Fall 2018

Course Information

Course Instructor

Schneider Teseo
Address: 60 5th Ave, 5th Floor, Office 524
Phone: 1 (212) 998-3280
E-mail: teseo.schneider@nyu.edu
URL: http://cs.nyu.edu/~teseo/

Office Hours: Thursdays, 2:15pm-3:15pm 60 5th Ave, 5th Floor, Office 524
Tutoring: 60 Washington Square South, 4th Floor schedule

Lectures:

Tuesdays and Thursdays at 3:30pm - 4:45pm
Silver Center for Arts & Science, 100 Washington Sq East, Room 411

Final exam

December 20th (12/20/2018) at 4:00-5:50PM, Silver 411

Textbook

Introduction to JAVA programming
Brief version, 11th edition
Y. Daniel Liang
ISBN: 0-13-359220-0

Grading

  • Assignments: 10% (late assignments count 70%)
  • Project: 10%
  • In class participation: 5%
  • Midterms: 20% each
  • Final: 35%

Course Description

How to design algorithms to solve problems and how to translate these algorithms into working computer programs. Experience is acquired through projects in a high-level programming language. Intended primarily for computer science majors but also suitable for students of other scientific disciplines. Programming assignments.

Prerequisites

Introduction to Computer Programming (CSCI-UA 2) or departmental permission assessed by placement exam.

Material

Misc

Slides

Schedule and Course Notes:

The course schedule is tentative and will be adjusted along the way.

Part 1: Fundamentals of Programming

Lecture Date Topic Chapter Slides
01 09/04/2018 Introduction to computers, programs and Java, command line basics 1 Link
02 09/06/2018 Primitive data types, program structure, control flow, input/output 2-3 Link Example
03 09/11/2018 Mathematical functions, characters, strings, looping 4-5 Link
09/13/2018 Hands on Link
04 09/18/2018 Methods 6 Link
05 09/20/2018 Methods 6 Link
06 09/25/2018 Single dimensional arrays 7 Link
07 09/27/2018 Two dimensional arrays 8 Link
10/02/2018 Hands on Link
08 10/04/2018 Midterm 1 review 1-8
09 10/11/2018 Midterm 1

Part 2: Object oriented programming and design

Lecture Date Topic Chapter Slides
10/16/2018 Hands on Eclipse
10 10/18/2018 Objects and classes 9 Link
10/23/2018 Hands on Game of Life
11 10/25/2018 Midterm discussion
12 10/30/2018 Object oriented thinking 10 Link
13 11/01/2018 Object oriented thinking 10 Link
14 11/06/2018 Midterm 2 review 1-10
15 11/08/2018 Midterm 2

Part 3: Advanced concepts

Lecture Date Topic Chapter Slides
11/13/2018 Hands on Game of Life Processing
16 11/15/2018 Inheritance and polymorphism 11 Link
17 11/20/2018 Midterm discussion
18 11/27/2018 Inheritance and polymorphism 11 Link
19 11/29/2018 Abstract classes and interfaces 13 Link
12/04/2018 No class
20 12/06/2018 Exception handling and text I/O 12 Link
21 12/11/2018 Exception handling and text I/O 12 Link
22 12/13/2018 Review for the final exam 1-13

Hands on activities

Number Date Material
01 09/13/2018 Slides Triangle MC Pi
02 09/02/2018 Slides Game of Life
03 10/16/2018 Eclipse
04 10/23/2018 Game of Life
05 11/13/2018 Game of Life Processing

Assignments

Number Date Due date link
01 09/06/2018 09/11/2018 Assignment 1
02 09/13/2018 09/18/2018 Assignment 2
03 09/20/2018 09/25/2018 Assignment 3 ASCII Art
04 09/27/2018 10/04/2018 Assignment 4
05 10/18/2018 10/23/2018 Assignment 5
06 10/25/2018 10/30/2018 Assignment 6
07 11/06/2018 11/08/2018 Assignment 7
08 11/13/2018 11/20/2018 Assignment 8
Project 11/24/2018 12/11/2018 Project
09 (Bonus) 12/11/2018 12/20/2018 Assignment 9