CSC 361 Optimized C++ Syllabus Keenan Spring2017.pdf

CSC 361 Optimized C++ Syllabus Keenan Spring2017.pdf -...

Info icon This preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
CSC 361 Optimized C++ Syllabus - 30 March 2017 v.1.0 1 Optimized C++ Spring 2017 CSC 361 instructor: Ed Keenan email: [email protected] office hours: Thursday 3-5pm, 9-10pm in classroom or by email appointment office: CDM 830 phone: (312)362-6747 website: piazza.com/depaul/spring2017/csc361461 (Preferred communication) lecture: Lewis 1509, Thursdays 5:45-9:00pm Desired to Learn (D2L): d2l.depaul.edu (Grades, Viewing lectures, Announcements) Version Control: perforce: 140.192.39.61:1666 Description: Implementation techniques to improve the performance and resource usage of C++ programs. This class will provide low level understanding of C++'s internal behavior that can be exploited to create faster performing software. Identify existing SISD (single instruction single data) implementation and refactor into SIMD (single instruction multiple data) to improve math centric software segments. Understand a system's dynamic memory usage to design and implement a custom high performance memory system. Topics include: performance enhancements through extended SIMD instruction set, dynamic memory usage, caching, implicit behavior, C++ language extensions, algorithms, streaming and profiling. Prerequisites: Data Structures in Java or C++ (CSC 301 or CSC 383 or CSC 393) Computer Systems I (CSC 373) or instructor consent Learning Goals: Students will be able to analyze software systems, identifying performance related issues in its design and implementation. Students will be able to identify and remedy execution performance issues related to data layout, processor caching, unintended compiler interactions, algorithmic considerations, data containers and supplied subsystems. Students will be able to refactor existing SISD (single instruction single data) into SIMD (single instruction multiple data) to improve math centric software segments. Students will be able to add performance profiling metrics to software systems to monitor the performance behavior as the software is refactored for optimization. Students will be able to apply understanding of dynamic memory knowledge to rewrite a custom memory system with performance exceed supplied systems from the compiler.
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
CSC 361 Optimized C++ Syllabus - 30 March 2017 v.1.0 2 Grading: 15 % - C++ Basics (Proficiency) programs 65 % - Programming Assignments PA1: C++ Fundamentals – 5% PA2: Caching / Data Alignment – 10% PA3: Memory – 20% PA4: C++ Efficiency – 5% PA5: Math Optimizations - 10% PA6: File System - 10% PA7: Assessment - 5% 10% - Final Exam 10% - Final Project NOTE: You must pass the final exam ( 60% or higher ) to receive a passing grade in the class. (It’s not an easy exam) Textbooks and printed resources Required Texts: The C++ Programming Language: Stroustrup o 4th Edition 2013 (new edition) or 3rd Edition (either are acceptable) o Stroustrup Addison-Wesley Longman/Pearson, 2014. ISBN: 978-0321563842 STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library (2nd Edition) 2001 - Musser, Derge, Saini, ISBN-13: 978-0201379235 Additional material provided in class o Websites and handouts Optional: Effective C++ (3rd Edition), 2005, Scott Meyers, ISBN-13: 978-0321334879
Image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern