DOC PREVIEW
Yale CPSC 427 - Syllabus
School name Yale University
Pages 4

This preview shows page 1 out of 4 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 4 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 4 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Official Yale course listingCourse DescriptionNature and Purpose of the CourseMain Topics to be CoveredCourse materialsCourse MechanicsPoliciesComputing FacilitiesYALE UNIVERSITYDEPARTMENT OF COMPUTER SCIENCECPSC 427a: Object-Oriented Programming Handout #1Professor M. J. Fischer September 1, 2011Syllabus (Fall 2011)1 Official Yale course listingCPSC 427 01 (13092) /CPSC 527 01 (10499)Object-Oriented ProgrammingMichael FischerTTh 2.30–3.45 BCT 102Fall 2011No regular final examinationObject-oriented programming as a means to efficient, reliable, modular, reusable code.Use of classes, derivation, templates, name-hiding, exceptions, polymorphic functions,and other features of C++. After CPSC 223b.2 Course Description2.1 Nature and Purpose of the CourseProgramming can be viewed in two ways: It is the activity of instructing the computer in the so-lution of a particular problem, or it is the activity of constructing a piece of software with desiredproperties. The former view focuses on the process and is what is typically taught in beginningprogramming courses. The latter view focuses on all aspects of the software – its size, speed, com-plexity, stability, correctness, reliability, clarity, maintainability, security, ease of repurposing, andease of deployment, as well as on the results it produces.This course is concerned with software architecture, design, verification, and construction. Itexposes students to modern object-oriented programming techniques that have proved successful inthe development of large complex software systems by multiple programmers. It teaches object-oriented design in C++ and explores techniques for building modular, efficient and robust systems.2.2 Main Topics to be CoveredObjects and classes in C++: Construction and destruction. Types, casts and conversions. Stor-age management. Achieving isolation through name-hiding. Derivation, inheritance, and abstractclasses. Polymorphism, virtual functions, and multiple inheritance. Templates. Exceptions. Use ofclass libraries such as STL, GTK+ / gtkmm, and I/O streams. Design paradigms. Programming forreliability. Programming for efficiency. Performance measurement and debugging.3 Course materialsRequired textbook:• A. Fischer, Exploring C++, manuscript, 2009. Available free online.2 Syllabus (Fall 2011)Recommended reference:• Herbert Schildt, C++: The Complete Reference, 4th edition, McGraw-Hill, 2002. PaperbackISBN: 0072226803 / 9780072226805. eBook ISBN 0071502394 / 9780071502399. Notethat the 5th edition covering the new C++0x international standard has been announced but isnot yet available.Other materials will be posted on the course web site from time to time during the term.Website: I maintain a course website at http://zoo.cs.yale.edu/classes/cs427/2011a/index.html.You should bookmark it in your browser and visit it often. It will grow as the term progressesand will contain announcements, handouts, homework assignments, programming hints, and linksto documents in the course directory and elsewhere on the web. Access may be restricted to ma-chines on the Yale network. If so, for off-campus use, you will need to follow the instructions foraccessing Yale resources from home and while traveling.4 Course MechanicsPrerequisite: The prerequisite for this course is CPSC 223 (Data Structures) or equivalent. Theability to write significant programs in the C programming language is required. The course alsoassumes a familiarity with basic computer science concepts such as are covered in CPSC 201 andCPSC 202.Requirements: Course requirements include weekly programming assignments and/or writtenproblem sets (∼35%), two hour exams (∼20% each), and a significant programming project(∼25%). The approximate weights of each in determining the course grade are subject to changedepending on the number and difficulty of the assignments actually given. There is no final exam.Graduate students taking the course will be expected to perform at a higher level than undergradu-ates and may be required to do additional work and/or presentations.Assignments and other announcements: Written problem sets and programming assignmentswill posted on the handouts page of the course web site from time to time during the course. Othercourse announcements will be posted on the course home page. It is your responsibility to checkthese pages frequently.Email: I am always available for email consultation at [email protected]. I can’t al-ways promise to respond right away, but I can often be reached by email when I am not in the office.Email is also the preferred way to arrange an appointment with me.5 PoliciesLate Policy: Late work will be accepted at the discretion of the instructor and will generally besubject to a penalty unless accompanied by a Dean’s excuse. Work will not be accepted after gradedpapers have been returned or solutions released. However, alternative means for making up missedwork may be arranged on an individual basis with a Dean’s excuse.Please contact the instructor as soon as you find out that you are unable to submit work on timeor to attend a scheduled exam so that suitable makeup arrangements can be made.Handout #1—September 1, 2011 3Policy on Working Together: This course follows the Yale College policy on Cheating, Plagia-rism, and Documentation, with which you should familiarize yourself. Briefly, if you use a sourcefor an assignment, you must acknowledge it. If it’s a piece of code, place the acknowledgementin your source file and explain clearly the nature of the source. Similarly, if it’s in a paper, theacknowledgement belongs in the paper itself. All work not so acknowledged must be your own.You may of course discuss the lectures and readings with your classmates in order to improveyour understanding of the subject matter. Helping each other learn to use the tools in the Zoo is alsookay. However, the design and implementation of all programs and all written work must be yourown except where other sources are explicitly noted.You are also always free (and encouraged) to come in and ask the TA or instructor for help aboutanything concerning the course. Please talk to the instructor if you have any questions about thispolicy.Avoiding Plagiarism: You may neither copy from another student nor permit your own work to becopied, unless explicit permission is given for such collaborations. To avoid unintended involvementin plagiarism, your work should never be in the possession of another


View Full Document

Yale CPSC 427 - Syllabus

Download Syllabus
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Syllabus and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Syllabus 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?