Course Syllabus
Spring 2017 Course Syllabus
Computer Science 111/111L Introduction to Algorithms and Programming: Java/Lab
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, Lab FS 11:00 - 12:20 PM, HSLH133
Please check canvas each week for:
- Programming assignments
- Weekly lecture notes
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
NetBeans Download link: http://www.oracle.com/technetwork/java/javase/downloads/index.html
CMPSCI111 Grading:
Quiz 1 - 20 points
Midterm - 40 points
Quiz 2 - 20 points
Final - 60 points
Needed Point Totals: A – 123 points, B – 105 points, C – 84 points, D – 70 points
CMPSCI 111L Grading: 6 Programming projects, 30 points each, 180 points total. Projects are due during Lab.
Needed Point Totals: A – 157 points, B – 135 points, C – 108 points, D – 90 points
Please check dates below for tests and project submission:
NO, NO, NO Laptops, cell phones or IPod/MP3 players are to be used during class lectures. Laptops may ONLY be used during lab time. 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 |
---|---|---|