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