CS 2334: Programming Structures and Abstractions
(Fall 2015)
This is your second course in programming. We will focus on
abstraction and programming methodologies including inheritance,
abstract data types, programming tools including integrated
development environments, unit tests and test driven development, and
ethics.
By the end of this course, you should be able to:
- Analyze simple computing problems and define the requirements
that are appropriate to their solution.
- Apply design and development principles to the implementation
of a solution to the computing problems. Specifically,
implement a program in Java using abstract data types and objects.
- Demonstrate sophisticated use of objects, inheritance,
polymorphism, and generics in Java programming.
- Evaluate and analyze the correctness of your implementations, and use
this information to make further implementation changes.
- Use an integrated development and debugging environment,
including unit tests.
- Evaluate and analyze the professional, ethical, legal, security
and social issues that are faced by computer scientists,
specifically in the areas of intellectual property rights and privacy.
ABET Student Outcomes to be addressed:
-
B: An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
-
C: An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
-
E: An understanding of professional, ethical, legal, security, and social issues and responsibilities.
- K: An ability to apply design and development principles in the construction of software systems of varying complexity
Prerequisites: CS 1323 and Mathematics 1823. You are expected to have
a working knowledge of Java, including a familiarity
with its basic data types and control structures, and an
understanding of basic program abstraction and organization.
Instructor: Prof. Andrew H. Fagg
Office: DEH 243 (Computer Science Department)
Email: andrewhfagg--gmail com
Phone: 325-8606
Office Hours: see http://www.cs.ou.edu/~fagg/office.html
Teaching Assistants:
All will be holding their office hours in DEH 115.
Office Hours: see http://www.cs.ou.edu/~fagg/office.html
Lecture Time: M/W 1:30-2:45
Lecture Location: Dale Hall 206
Lab Times (you must be registered for one and you must attend the one in which you are registered):
- Section 011: Thursday 8:30 - 10:20 (M-207 Sarkeys Energy Ctr)
- Section 014: Thursday 10:30 - 12:20 (TBA)
- Section 012: Thursday 12:30 - 2:20 (M-207 Sarkeys Energy Ctr)
- Section 013: Thursday 3:00 - 4:50 (M-207 Sarkeys Energy Ctr)
Required Textbooks and Resources:
- Programming in Java (Zyante) at
http://zybooks.zyante.com.
- Book code: OUCS2334Fall2015
- When you create your Zyante account, please use your OU
email address. We will otherwise be unable to match
your Zyante grades with your D2L identity.
- Account creation instructions
- A
Gift of Fire: Social, Legal, and Ethical Issues for Computing
and the Internet, Sara Baase, Fourth Edition
- We are using Top Hat as an
interactive classroom tool during the semester. This tool
interfaces to your laptop and your cell phone (smart or not).
All students are required to sign up for the Top Hat service
($24 for the semester for all classes; or $72 for your academic career).
Those enrolled in the class have received an email
invitation to join our Top Hat class.
Students should read the book chapters ahead of the class period
(see the class schedule). Students
should always make sure to have access to the textbooks and Top Hat
during class periods, including both lectures and labs.
Important Pages
Note: we will add to this list during the course of the semester.
andrewhfagg at gmail.com
Last modified: Sat Nov 19 16:10:31 2016