NCSU brick logo

CSC/ECE 517: Object-Oriented Design and Development

Spring 2025

syllabus: overview

Catalog Description

Object-oriented languages and systems built with object-oriented software components. Object-oriented design methodologies, such as CRC cards and the Unified Modeling Language (UML). Requirement analysis. Design patterns. Agile methods. Object-oriented programming environments, such as the Eclipse platform. Platforms for Web services, such as J2EE. Project required.

Prerequisites

  • CSC 316:Data Structures for Computer Scientists

Learning Objectives

The goals for this course are to ...

  • learn to design programs with classes that work together with maximum cohesion and minimum coupling,
  • learn how design methodologies, such as CRC cards, and the Uniform Modeling Language, can be used to express the interaction between program components.
  • understand the differences between statically and dynamically typed object-oriented languages, and be able to program in both,
  • learn how an understanding of software design patterns can be used to structure programs so that they are robust and extensible, and
  • appreciate how programs can be restructured ("refactored") to improve their adherence to the principles of good design.

The Staff

instructor

Edward F. Gehringer
Phone: 919-515-2066
Office: 2298 EB II
Office hours:
  Thurs. 10:30-11:30 AM
efg ncsu.edu

teaching assistant

Jialin Cui
Phone:
Office:
Office hours:
  TBA
jcui9 ncsu.edu
IM:

teaching assistant

Haoze Du
Phone:
Office:
Office hours:
  TBA
hdu5 ncsu.edu
IM:

teaching assistant

Anvitha Gutha
Phone:
Office:
Office hours:
  TBA
agutha ncsu.edu
IM:

teaching assistant

Vihar Shah
Phone:
Office:
Office hours:
  TBA
vshah23 ncsu.edu
IM:

Text

REQUIRED
Engineering Software as a Service
by Armando Fox and David Patterson
Publisher: CreateSpace
Textbook Paperback, Kindle, iBooks, or Nook edition
Pub. Date: 2nd ed. beta, 2021

Important dates

  • First class: Friday, Jan. 10
  • Last face-to-face class: Friday, Apr. 11
    (however, there in a quiz on online videos due on Apr. 17)
  • No class: Friday, March 14 (spring break)
                  Friday, Apr. 18 (Good Friday)
  • Last day to drop or change to audit: Monday, Mar. 3
  • For more details, see the academic calendar.

Class meetings

Friday, 1:30-4:15 PM in EB II 1230

Incremental-learning requirement

CSC/ECE 517 will be a hybrid course this semester, with some material being presented in class, synchronously online, and some presented asynchronously online. Educational research shows that students learn best incrementally, rather than by studying large amounts of material right before exams. Incremental learning can only take place when students concentrate on each lesson when it is presented.

Accordingly, all students in CSC/ECE 517 are required to do two things:

  • Pass a quiz over the online material for the week by Thursday evening before class. A passing score on a quiz is a score of at least 80%.
  • Attend at least 9 out of the 11 (non-exam) weeks of class (at least 6 of which must be attended in the classroom). Attendance credit will be given for responding intelligently to the majority of in-class response Google forms during class. The deadline for responding is 6 PM on the day of class for on-campus students, and 6 days after the class for off-campus students (e.g., class on Friday means you need to comment by the following Thursday).

There are thus 23 times during the semester that incremental-learning credit must be earned: 9 of 11 class sessions, plus 14 of 15 online lessons. Each one of them is worth 5 semester points. Thus, there are a maximum of 45 points for class attendance, and a maximum of 70 points for quizzes.

Audit requirement

Pass half of the online quizzes. Also, do one homework, or take one test (not quiz), before spring break and score at least 50%; then do one homework, or take one test, after spring break and score at least 50%. You can choose which homework or test to take, and if you take one and fail to score 50%, you can try another. If you complete this requirement, you will receive a grade of AU. If you do not fulfill this requirement, your grade will be NR (no recognition).

©2007-2022 NC State University | Disclaimer
back to top