CS
101 Algorithms and Programming I
Spring 2020
Sections 1, 2
Instructor: |
Aynur Dayanık (Section 1 & Section 2) |
Lectures: |
Tue 10:40-12:30 and Fri 8:40-10:30 at B-206 (Section 1) Wed 8:40-10:30 and Fri 10:40-12:30 at B-206 (Section 2)
|
Office Hours: |
Tue 13:40-15:30 or by appointment |
TAs: |
TBA |
Course Description:
Basic computer literacy: terminology, system components and operation. Fundamentals of computer programming: top-down structured design, sequence, decision, repetition, syntax, compilation, debugging and maintenance, object-oriented programming with Java, objects, classes, methods, parameters, arrays, layout and style. The emphasis is on an engineering ''right-first-time'' approach to solving problems using computers. Credit units: 4, ECTS Credit units: 7.
Moodle page of the course:
Check regularly the Moodle page of the course CS 101 (All Sections) for course information, syllabus, lab assignments, announcements, and discussion forum. Lecture notes and programs will be posted here.
Textbook:
Cay S. Horstmann, Big Java: Late Objects, Enhanced eText, 2nd Edition , Wiley, October 2016.
Attendance:
Course Outline:
Course Overview[ Slides ] |
Objectives & Expectations |
Introduction[ Slides ] |
Introduction (Chapter 1) Computers and Programming Java Programming Language Algorithm Design |
Fundamental Data Types[ Slides ] |
Fundamental Data Types (Chapter 2) Variables Arithmetic Input and Output Strings |
Decisions[ Slides ] |
Decisions (Chapter 3) If Statement Relational Operators Boolean Variables and Operators Comparing Numbers and Strings |
Loops[ Slides ] |
Loops (Chapter 4) While Loop For Loop |
Methods[ Slides ] |
Methods (Chapter 5) Methods as Black Boxes Implementing Methods Parameter Passing Return Values Top-Down Design (Stepwise Refinement) |
Objects and Classes |
Objects and Classes (Chapter 8) Object-Oriented Programming Implementing Classes Constructors Object References Static Variables and Methods |
ArrayLists & Arrays |
Array Lists and Arrays (Chapter 6) Array Lists Arrays Two-Dimensional Arrays "Searching & Sorting Linear Search Algorithm Time Complexity Selection Sort Algorithm |
Course requirements:
There will be weekly lectures (3 hours per week), labs (4 hours per week), quizzes and homework, one midterm exam and one final exam.
Check regularly the Moodle page of the course CS 101 (All Sections) for course information, syllabus, lab assignments, announcements and discussion forum.
Check regularly this page of the course for lecture notes, lecture Java programs, and homework assignments.