Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
Computer Laboratory – Course pages 2015–16: Programming in C and C++ Skip to content | Access key help Search Advanced search A–Z Contact us Computer Laboratory Computer Laboratory Teaching Courses 2015–16 Programming in C and C++ Computer Design Computer Graphics and Image Processing Computer Networking Concurrent and Distributed Systems ECAD and Architecture Practical Classes Further Java Mathematical Methods for Computer Science Programming in C and C++ Prolog Semantics of Programming Languages Software Engineering Unix Tools Compiler Construction Computation Theory Databases Logic and Proof Artificial Intelligence I Complexity Theory Concepts in Programming Languages Economics, Law and Ethics Security I Course pages 2015–16 Programming in C and C++ Syllabus Course materials Information for supervisors Principal lecturer: Dr Anil Madhavapeddy Taken by: Part IB Past exam questions No. of lectures: 10 Suggested hours of supervisions: 3 Prerequisite courses: None, though Operating Systems would be helpful. Aims The aims of this course are to provide a solid introduction to programming in C and C++ and to provide an overview of the principles and constraints that affect the way in which the C and C++ programming languages have been designed and are used. Lectures Introduction to the C language. Background and goals of C. Types and variables. Expressions and statements. Functions. Multiple compilation units. [1 lecture] Further C concepts. Preprocessor. Pointers and pointer arithmetic. Data structures. Dynamic memory management. Examples. [2 lectures] Introduction to C++. Goals of C++. Differences between C and C++. References versus pointers. Overloading functions. [1 lecture] Objects in C++. Classes and structs. Operator overloading. Virtual functions. Multiple inheritance. Virtual base classes. Examples. [2 lectures] Further C++ concepts. Exceptions. Templates, meta-programming and the STL. Examples. [2 lectures] Linkers and loaders. Executable sections. Debug symbols. Inspecting program state. [1 lecture] C semantics. Undefined vs implementation-defined behaviour. Common optimisation problems. Buffer and integer overflows. Examples. [1 lecture] Objectives At the end of the course students should be able to read and write C and C++ programs; understand the interaction between C and C++ programs and the host operating system; be familiar with the structure of C and C++ program execution in machine memory; understand the object-oriented paradigm presented by C++; be able to make effective use of templates and meta-programming techniques as used in the STL; understand the potential dangers of writing programs in C and C++. Recommended reading * Eckel, B. (2000). Thinking in C++, Vol. 1: Introduction to Standard C++. Prentice Hall (2nd ed.). Also available at http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html Kernighan, B.W. & Ritchie, D.M. (1988). The C programming language. Prentice Hall (2nd ed.). Stroustrup, B. (2008). Programming -- principles and practice using C++. Addison-Wesley. Stroustrup, B. (1994). The design and evolution of C++. Addison-Wesley. Lippman, S.B. (1996). Inside the C++ object model. Addison-Wesley. © 2016 Computer Laboratory, University of Cambridge Information provided by Dr Anil Madhavapeddy