Published using Google Docs
CS111F20Plan
Updated automatically every 5 minutes

Course Name and Number Introduction to Computer Science 01:198:111

All the following information can be found at https://introcs.cs.rutgers.edu

Canvas site https://rutgers.instructure.com/courses/65462

Semester Meeting Days, Times, and Place(s) Synchronous

1. MTh 8:40-10AM 2. W 10:20-11:40AM and F 3:20-4:40PM 3. MW 1:10-2:30PM 4. MW 5-6:20PM 5. TTh 4:30-5:50PM

Asynchronous: students will be asked to watch:

short (3-5 minutes) videos for each of the week’s learning goals

one longer (20 minutes) video with problem solving

weekly recitation problems videos are available

students will have the same assignments and quizzes as the synchronous lecture’s students

additional synchronous lectures videos will be available to all students

Common hour exams 9/27 First quiz 10/18 Second quiz 11/8 Third quiz 12/14 Fourth quiz

Instructor’s Name and Office hours

Name Office hours

Office hours Link Email

Ana Paula Centeno

TTh 3-4pm https://rutgers.webex.com/meet/anapaula anapaula@cs.rutgers.edu

Andy Guna Lars Sorensen

T 1-2pm, Th 3-4pm

https://rutgers.webex.com/meet/biglars biglars@cs.rutgers.edu

https://rutgers.webex.com/meet/biglars biglars@cs.rutgers.edu

MW Frances

11:30- Trees

12:30pm

https://rutgers.webex.com/meet/fpt9 fran.trees@cs.rutgers.edu

Juan Zhai T 9-11am https://rutgers.webex.com/meet/jz798 jz798@cs.rutgers.edu

Technology Requirements All technology used in the course is available free of charge:

Java

Visual Studio Code

Dynamic Recitation System at https://dynrec.cs.rutgers.edu

Gradescope at https://gradescope.com

Piazza at https://piazza.com

Core Curriculum Learning Goals Met by this Course CS111 meets SAS goals QQ or QR, ITR:

Formulate, evaluate, and communicate conclusions and inferences from quantitative information. [QQ]

Apply effective and efficient mathematical or other formal processes to reason and to solve problems. [QR]

Employ current technologies to access and evaluate information, to conduct research, and to communicate findings, and understand the principles that underlie information systems. [ITR]

Department Learning Goals Met by this Course

Design algorithmic solutions to problems.

Develop, implement, test, and document program code.

Analyze program code for correctness, efficiency, equivalency, and errors.

Demonstrate an understanding of object-oriented methodology in program development.

Select appropriate data types/structures for use in a given application.

Design and modify data structures capable of insertion, deletion, search, copy, and other related tasks.

Demonstrate an understanding of searching and sorting algorithms.

List of Required Books &/or Materials ISBN-13: 978-0672337840 ISBN-10: 9780672337840

Syllabus

Week 1 Algorithmic thinking

1. Logistics

2. Algorithm design, development and analysis using Pseudocode

Week 2 Algorithmic thinking and analysis

ALGORITHM DESIGN, DEVELOPMENT, and analysis USING PSEUDOCODE

Week 3 Algorithm Implementation, basic Java

Program Design, Development, and Analysis: Programming in Java

Week 4 Algorithm implementation, conditionals and loops

Program Design, Development, and Analysis: Conditionals and Loops

Week 5 The array data structure

Program Design, Development, and Analysis: Arrays

Week 6 Input and Output in Java

Program Design, Development, and Analysis: Input and Output

Week 7 Writing functions

Program Design and Development: Functions and Modules

Week 8 Recursive algorithms

Program Design, Development, and Analysis: Recursion

Week 9 OOP - Using Data Types

Program Design, Development, and Analysis: Object Oriented Programming

Week 10 OOP - Creating data types

Program Design, Development, and Analysis: Object Oriented Programming

Week 11 Algorithm complexity analysis

Program Analysis: Performance (Big-O)

Week 12 Sorting and searching

Program Design, Development, and Analysis: Sorting and Searching

Week 13 Thanksgiving Break, no classes or recitations this week

Week 14 Recursive algorithm analysis

Program Design, Development, and Analysis: MERGESORT AND ANALYSIS