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
efgncsu.edu
teaching assistant
Jialin Cui
Phone:
Office:
Office hours:
Friday 9 AM-10 AM
jcui9ncsu.edu
IM:
teaching assistant
Richard Li
Phone:
Office:
Office hours:
Monday 9 AM-10 AM
rli14ncsu.edu
IM:
teaching assistant
Kashika Malick
Phone:
Office:
Office hours:
Thursday 11:30-12:30
kmalickncsu.edu
IM:
teaching assistant
Anvitha Gutha
Phone:
Office:
Office hours:
Tuesday 10 AM-11 AM
aguthancsu.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
- CSC/ECE 517:Object-Oriented Design and Development
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).