CSE A215 - Object Oriented Programming for Engineers

Class: Tues/Thurs 10:00-11:15 AM, ENGR-228

Engineering Building, 2nd Floor, Office 227C
Phone: 907-786-6756
Cell: 303-641-3999
E-mail: ssiewert@uaa.alaska.edu

Office Hours:
Tues, Wed, Thurs @ 12:00-2:00 PM; or By Appointment
Please note that all course materials should be consulted on Blackboard at http://uaa.alaska.edu/classes
If for some reason you can't access BB, this page is provided as a backup.


Course Description: Students will learn object-oriented programming that can be used in many aspects of the computing field. Assignments will focus on real-world applications that utilize learned programming skills, including objects, classes, inheritance, hierarchies, polymorphism, recursion, event processing, and exception handling. Focus is on C++, but Java is covered more topically to compare to C++.

Important Course Links
  1. Link to Order REQUIRED TEXT, ABSOLUTE C++ (5th Ed.) by Walter Savitch, from Amazon
  2. Link to Order OPTIONAL TEXT, ABSOLUTE JAVA (5th Ed.), by Walter Savitch, from Amazon
Link to Example Code for CSE A215
Labs
Docs
Grading Policies

Syllabus (See Blackboard for Definitive Copy)
Week-1 [1/15, 17]:

    Read: , Chapter 1
    Lecture: Introduction to C++ and OOP, OOA/OOD
    Exercise-1

Week-2 [1/22, 24]:

    Read: , Chapter 2 and Chapter 12 on Streams and File I/O
    Lecture: C++ Control Flow and Console and File I/O
    Exercise-2

Week-3 [1/29, 31]:

    Read: , Chapter 3 and Chapter 5
    Lecture: C++ Functions and Arrays
    Exercise-3

Week-4 [2/5, 7]:

    Read: , Chapter 4
    Lecture: C++ Parameters and Overloading
    Exercise-4

Week-5 [2/12, 14]:

    Read: Chapter 6, 7
    Lecture: C++ Structures and Classes, Constructors
    Exercise-5

Week-6 [2/19, 21]:

    Read: Chapter 8
    Lecture: C++ Operator Overloading, Friends and References [Tues]

    Thursday - NO CLASS (Dr. Siewert at Embedded Symposium), Open Lab time

    Exercise-5 DUE on 2/19
    Exercise-6 START on 2/20

Week-7 [2/26, 28]:

    Read: Chapter 9 and through Pointers in Chapter 10
    Lecture: C++ Strings and Pointers

    Exercise-6 DUE on 3/1

    Review for QUIZ on 3/5 and Discuss Take Home Programming Assessment


Week-8 [3/5, 7]:


    Review: EXAM-1
    EXAM-1: Through Pointers in Chapter 10 Assigned on 3/7

    3/5 - In-Class Quiz on Theory
    3/7 - Take Home C++ Programming Asessment Due on 3/8
    3/7 - NO CLASS (use time to work on Programming Take Home Exam)


Week-9 [3/12, 14]: SPRING BREAK, NO CLASS

    Read: , Chapter 9, 10, 11
    Lecture: C++ Pointer Review, Dynamic Arrays, Modular Compilation, Streams and I/O

    Complete Take Home Exam (if not already done).

Week-10 [3/19, 21]:

    Read: , Chapter 10 & 17
    Lecture: C++ Pointers and Linked Lists
    Exercise-7

Week-11 [3/26, 28]:

    Read: , Chapter 13
    Lecture: C++ Recursion
    Exercise-8

Week-12 [4/2, 4]:

    Read: , Chapter 14 & 15
    Lecture: C++ Inheritence, Polymorphism and Virtual Functions
    Exercise-9 (C++ and Java Intro)

Week-13 [4/9, 11]:

    Read: , Chapter 16 & 18
    Lecture: C++ Exception Handling, Templates, STL, UML
    Exercise-10 (C++ and Java Comparison)

Week-14 [4/16, 18]:

    Review on 4/16: EXAM-2
    EXAM-2: C++ Comprenensive & Java Intro

    4/16 - In-Class Quiz on Theory (After Review)
    4/18 - In-Class C++ and Java Intro Programming Assessment

Week-15 [4/23, 25]:

    Absolute Java Comparison and Readiness for Data Structures
    Exercise-11 (Java Comparison)

Finals Week [4/30 - 5/4]:

    FINAL EXAM (In-Class Theory and Fundamental Programming)