CS 2334: Programming Structures and Abstractions
(Fall 2017)
NOTE: the last day to enroll in classes (including this class) is Friday, August 25
This is your second course in programming. We will focus on
abstraction and programming methodologies including: inheritance,
abstract data types, integrated development environments, unit tests,
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. If you
do not have a solid understanding of these skills, then you need to
revisit the material from CS 1323 before attempting this course.
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 TAs will be holding their office hours in DEH 115.
Office Hours: see http://www.cs.ou.edu/~fagg/office.html
The instructor and all of the TAs can be contacted using the following email address:
cs2334 -- googlegroups.com
Lecture Time: M/W 1:30-2:45
Lecture Location: Dale Hall 128
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 012: Thursday 12:30 - 2:20 (M-207 Sarkeys Energy Ctr)
- Section 013: Thursday 3:00 - 4:50 (M-207 Sarkeys Energy Ctr)
- Section 014: Thursday 5:00 - 6:50 (Dale Hall 107)
Required Textbooks and Resources:
- Programming in Java (Zyante) at
http://zybooks.zyante.com. More details coming soon.
- Book code: OUCS2334FaggFall2017
- Book rental cost: $48 (good until January 04, 2018)
- When you create your Zyante account, you must use your permanent OU
email address (the one with your full name, not your alias).
We will otherwise be unable to match
your Zyante grades with your Canvas 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
($26 for the semester for all classes; $38 for 12 months of access or $75 for your academic career).
Those enrolled in the class will receive an email invitation to join our Top Hat class (please wait for this email).
Students must read the assigned readings and complete the associated exercises 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 -- gmail.com
Last modified: Thu Dec 14 13:35:18 2017