University of Oklahoma / Undergraduate

Programming Structures and Abstractions

Reusable software through object abstraction, recursion, graphical interfaces, file processing and unit testing.

  • CS 2334
  • 4 credits
  • Instructor

The course

What we investigate.

Build programs around encapsulation, composition, inheritance, polymorphism and generics, alongside practical programming techniques and the responsibilities of software development.

Learning outcomes

  • Analyze a programming problem and define the requirements for its solution.
  • Design Java programs using abstract data types, objects, inheritance, polymorphism and generics.
  • Evaluate program correctness through testing, debugging and iterative improvement.
  • Use an integrated development environment and write unit tests.
  • Examine professional, ethical, legal, security and social responsibilities, including intellectual property and privacy.

Connected ideas

The ground we cover.

01

Abstraction in Java

  • Objects and abstract data types
  • Encapsulation, composition and reuse
  • Inheritance, polymorphism and generics
  • Recursion
02

Building and testing programs

  • Integrated development and debugging
  • Unit testing and test-driven development
  • Graphical interfaces and file processing
  • Evaluating implementation correctness
03

Computing responsibilities

  • Professional and ethical issues
  • Intellectual property
  • Privacy and security
  • Social and legal responsibilities

Spring 2023 / Materials

Textbooks, tools and readings.

Readings, assignments, announcements and offering-specific requirements are available to enrolled students on Canvas.

Open OU Canvas

Spring 2023 used Java SE Development Kit 17 and the Eclipse integrated development environment.

  • Programming in Java (zyBooks)Spring 2023 course text · Readings and exercises
  • A Gift of Fire: Social, Legal, and Ethical Issues for Computing and the Internet, Fourth EditionSpring 2023 course text · Sara Baase

Spring 2023 / Schedule

A path through the semester.

The weekly reading sequence and assignment dates are provided on Canvas.

Spring 2023 / Assessment

Learning, put into practice.

11%

Quizzes and in-class activities

The highest N−2 scores count toward this component.

10%

Homework

Reading and programming exercises in zyBooks.

14%

Laboratory work

The highest N−2 lab scores count toward this component.

25%

Projects

Five projects, each spanning two weeks.

20%

Midterm exams

Two midterm examinations.

20%

Final exam

A comprehensive final examination.

Past offerings

Taught at OU.

Instructor.