Course Syllabus
Fall 2017 Course Syllabus
Computer Science 111 Introduction to Algorithms and Programming: Java
Course Description: This course is an introduction to algorithms, their representation, design, structuring, analysis and optimization. It requires implementation of algorithms as structured programs in a high level language. This course will use Java and students will be expected to write and execute Java programs in the lab section.
When and Where:Lecture FS 9:30-10:50 AM, HSLH133
Please check canvas each week for:
- Weekly lecture notes
- Online Coursework
Instructor: Urvashi Juneja
Office Hours: Every Friday 9:00 – 9:30 AM HSLH first floor by the fountain or by appointment.
Email: Urvashi.juneja@canyons.edu
Required Textbook: Introduction to Java Programming, brief version, 10th edition. Author: Liang ISBN: 9780133592207
CMPSCI111 Grading:
In class Quizzes - 25%
Midterm - 25%
Online Coursework - 10%
Final - 40%
The following grading scale will be used where class participation will resolve borderline cases:
90% - 100% A
80% - 89% B
70% - 79% C
60% - 69% D
< 60% F
Please check dates below for tests:
NO, NO, NO Laptops, cell phones or IPod/MP3 players are to be used during class lectures. Surfing the Internet during class time is reserved for class related web sites. Other non-class related surfing is strictly prohibited. Violations of these rules may result in a penalty reduction of points.
Student Learning Outcomes:
Evaluate the basic concepts of computer programming and analyze their impact on algorithms, problem solving and program implementation.
Course Outline
- What is a computer, Binary Representation of Information, Programming Languages, Java, Java Byte Code, Java Virtual Machine, First Java Program Reading Assignment - Chapter 1
- Java Language Elements, Variables and data types, Strings, Syntax and Semantics, Programming Errors, Debugging Reading Assignment - Chapter 2
- Selections (Control Statements), if, if-else, switch, Relational and logic operators, Precedence and Associativity Reading Assignment - Chapter 3
- Loops: while, do-while, for, break and continue Reading Assignment - Chapter 5
- Methods (aka functions, procedures, subroutines), Parameters (pass by value), Scope, Lifetime, Overloading Reading Assignment - Chapter 6
- Arrays, Looping through arrays, search algorithms, Sort algorithms, Array parameters (pass by reference), 2-D and higher arrays Reading Assignment - Chapter 7 (some 8)
- Classes and Objects, Building a class, Using objects, Static variables and methods, Constructors, Reference variables, Visibility modifiers Reading Assignment - Chapter 9
- Strings and File I/O, String classes, Open and read/write text files, Intro to exception handling Reading Assignment - Chapters 4 and 12
- Inheritance, Class hierarchy, Constructors, Private-Protected-Public, Polymorphism Reading Assignment - Chapters 10 and 11
- Abstract classes, Interfaces, Object Oriented Design and Patterns Reading Assignment - Chapter 13
- Exception Handling - Parts of Chapters 12, 14, 15, and 16
- Recursion, recursive algorithms, Complexity analysis, Binary search algorithm Reading Assignment - Chap. 18
Course Summary:
Date | Details | Due |
---|---|---|