Computer Science 111 - Introduction to Algorithms and Programming:
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.
Please check the CS 111 Web Page: http://www3.canyons.edu/departments/comp_sci/ferguson/cs111
each week for:
- Weekly Lecture Notes
- Online Course Work
- Homework and/or Programming Assignments
Grading: Grading will be based on the following breakdown:
Online Course Work 30% 60 points
Quiz 1 10% 20 points
Midterm 20% 40 points
Quiz 2 10% 20 points
Final 30% 60 points
Needed Point Totals: A – 175 points, B – 150 points, C
– 120 points, D – 100 points
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. EBay, chat rooms, sports sites and other non class related
surfing is strictly prohibited.
Violations of these rules may result in a penalty reduction of points.
See Back for Test Dates
Please be sure to avoid scheduling conflicts with these dates.
Student Learning Outcomes:
Evaluate the basic concepts of computer programming and analyse their impact on algorithms, problem solving and program implementation.
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
Control Statements (Selections), 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 4
Methods (aka functions, procedures, subroutines), Parameters (pass by value), Scope, Lifetime, Overloading
Reading Assignment - Chapter 5
Arrays, Looping through arrays, search algorithms, Sort algorithms, Array parameters (pass by reference), 2-D and higher arrays
Reading Assignment - Chapter 6 (some 7)
Classes and Objects, Building a class, Using objects, Static
variables and methods, Constructors, Reference variables, Visibility modifiers
Reading Assignment - Chapter 8
Strings and File I/O, String classes, Open and read/write text files, Intro to exception handling
Reading Assignment - Chapters 9 and 14
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 15
Applets, Swing, AWT, Exception Handling, Event Drivien and GUI programming
Reading Assignment - Parts of Chapters 12, 13, 14, 16, 17 and 18
Recursion, recursive algorithms, Complexity analysis, Binary search algorithm
Reading Assignment - Chap. 20