NCSU brick logo

CSC/ECE 517: Object-Oriented Design and Development

Fall 2024

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.

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:
  Wednesday, 12:30-1:30 PM
efg ncsu.edu

teaching assistant

Jialin Cui
Phone:
Office:
Office hours:
  Friday 9 AM-10 AM
jcui9 ncsu.edu
IM:

teaching assistant

Richard Li
Phone:
Office:
Office hours:
  Monday 9 AM-10 AM
rli14 ncsu.edu
IM:

teaching assistant

Kashika Malick
Phone:
Office:
Office hours:
  Thursday 11:30-12:30
kmalick ncsu.edu
IM:

teaching assistant

Anvitha Gutha
Phone:
Office:
Office hours:
  Tuesday 10 AM-11 AM
agutha ncsu.edu
IM:

Important dates

  • First class: Friday, Aug. 23
  • Last class: Friday, Nov. 22
  • Last day to drop or change to audit: Thursday, Oct. 17
  • For more details, see the academic calendar.

Class meetings

Friday, 1:55-4:40 PM in EB III 2207

Catalog entry

Text

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

Prerequisites

  • CSC 316:Data Structures for Computer Scientists

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%. This deadline is the same for both on- and off-campus students.
  • Attend at least 9 out of the 11 (non-exam) weeks of class. At least 6 of those weeks must be attended in person; the other 3 may be attended by Zoom. 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 Engineering Online (Section 601) 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 fall break and score at least 50%; then do one homework, or take one test, after fall 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-2009 NC State University | Disclaimer
back to top