Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
23 views19 pages

CPE 311 Lecture 1

The document outlines a curriculum for a C++ programming course, focusing on object-oriented design principles and essential programming topics. It includes objectives, learning outcomes, course delivery methods, and evaluation criteria. Additionally, it provides an overview of modern C++ standards and resources for further reading and practice.

Uploaded by

Joshua Friday
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views19 pages

CPE 311 Lecture 1

The document outlines a curriculum for a C++ programming course, focusing on object-oriented design principles and essential programming topics. It includes objectives, learning outcomes, course delivery methods, and evaluation criteria. Additionally, it provides an overview of modern C++ standards and resources for further reading and practice.

Uploaded by

Joshua Friday
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Overview

Curriculum and Modern C++


Workability

COMPUTER PROGRAMMING AND


LANGUAGES
CPE 311 - Lecture 1 (Introduction)

Dr Aliyu Ahmed1 and Engr. Danlami Maliki2

1,2 Department of Computer Engineering

Federal University of Technology, Minna

2022/2023

Aliyu Ahmed CPE 311: 2022/2023


Overview
Curriculum and Modern C++
Workability

Outline

Overview
Overview/Objectives
Learning Outcome
Delivery

Curriculum and Modern C++


Curriculum Overview
Modern C++

Workability
Development Environment

Aliyu Ahmed CPE 311: 2022/2023


Overview Overview/Objectives
Curriculum and Modern C++ Outcome
Workability Delivery

Overview
Provide a strong foundation in C++ programming and
object-oriented design principles.
Covers essential topics such as encapsulation, inheritance, etc.
Write efficient and structured C++ programs using
object-oriented design paradigms.
Objectives
Understand the fundamental principles of object-oriented
programming.
Gain proficiency in C++ syntax and semantics.
Apply object-oriented design concepts.
Develop event-driven programs using C++.
Debug and troubleshoot C++ programs effectively.
Create flowcharts to visualize program logic.
Aliyu Ahmed CPE 311: 2022/2023
Overview Overview/Objectives
Curriculum and Modern C++ Outcome
Workability Delivery

Overview
Provide a strong foundation in C++ programming and
object-oriented design principles.
Covers essential topics such as encapsulation, inheritance, etc.
Write efficient and structured C++ programs using
object-oriented design paradigms.
Objectives
Understand the fundamental principles of object-oriented
programming.
Gain proficiency in C++ syntax and semantics.
Apply object-oriented design concepts.
Develop event-driven programs using C++.
Debug and troubleshoot C++ programs effectively.
Create flowcharts to visualize program logic.
Aliyu Ahmed CPE 311: 2022/2023
Overview Overview/Objectives
Curriculum and Modern C++ Outcome
Workability Delivery

Overview
Provide a strong foundation in C++ programming and
object-oriented design principles.
Covers essential topics such as encapsulation, inheritance, etc.
Write efficient and structured C++ programs using
object-oriented design paradigms.
Objectives
Understand the fundamental principles of object-oriented
programming.
Gain proficiency in C++ syntax and semantics.
Apply object-oriented design concepts.
Develop event-driven programs using C++.
Debug and troubleshoot C++ programs effectively.
Create flowcharts to visualize program logic.
Aliyu Ahmed CPE 311: 2022/2023
Overview Overview/Objectives
Curriculum and Modern C++ Outcome
Workability Delivery

Learning Outcome

Understand and apply object-oriented design principles in


C++ programming.
Demonstrate proficiency in C++ syntax and semantics.
Implement event-driven programs using C++.
Design and develop algorithms for problem-solving using
structured decomposition.
Debug and troubleshoot C++ programs effectively.

Aliyu Ahmed CPE 311: 2022/2023


Overview Overview/Objectives
Curriculum and Modern C++ Outcome
Workability Delivery

Learning Outcome

Understand and apply object-oriented design principles in


C++ programming.
Demonstrate proficiency in C++ syntax and semantics.
Implement event-driven programs using C++.
Design and develop algorithms for problem-solving using
structured decomposition.
Debug and troubleshoot C++ programs effectively.

Aliyu Ahmed CPE 311: 2022/2023


Overview Overview/Objectives
Curriculum and Modern C++ Outcome
Workability Delivery

Learning Outcome

Understand and apply object-oriented design principles in


C++ programming.
Demonstrate proficiency in C++ syntax and semantics.
Implement event-driven programs using C++.
Design and develop algorithms for problem-solving using
structured decomposition.
Debug and troubleshoot C++ programs effectively.

Aliyu Ahmed CPE 311: 2022/2023


Overview Overview/Objectives
Curriculum and Modern C++ Outcome
Workability Delivery

Learning Outcome

Understand and apply object-oriented design principles in


C++ programming.
Demonstrate proficiency in C++ syntax and semantics.
Implement event-driven programs using C++.
Design and develop algorithms for problem-solving using
structured decomposition.
Debug and troubleshoot C++ programs effectively.

Aliyu Ahmed CPE 311: 2022/2023


Overview Overview/Objectives
Curriculum and Modern C++ Outcome
Workability Delivery

Learning Outcome

Understand and apply object-oriented design principles in


C++ programming.
Demonstrate proficiency in C++ syntax and semantics.
Implement event-driven programs using C++.
Design and develop algorithms for problem-solving using
structured decomposition.
Debug and troubleshoot C++ programs effectively.

Aliyu Ahmed CPE 311: 2022/2023


Overview Overview/Objectives
Curriculum and Modern C++ Outcome
Workability Delivery

Course Delivery
Lectures
Hands-on Programming
Group Discussions and Peer Learning
Practical Assignments
Code Review and Debugging Sessions
Practical Projects
Assessment and Evaluation
Evaluation Method
•Class Attendance (5 point)
In-class participation/Quiz (5 points)
Assessment - Project (30 points )
Final examination (60 points – no make-up)
Aliyu Ahmed CPE 311: 2022/2023
Overview
Curriculum Overview
Curriculum and Modern C++
Modern C++
Workability

Curriculum Overview

Getting Started Pointers and References


Structure of a C++ program OOP - Classes and Objects
Variables and Constants Operators Overloading
Arrays and Vectors Inheritance
Strings in C++ Polymorphism
Expressions, Statement and Smart Pointers
Operators The Standard Template
Determining Control Flow Library
Functions I/O Streams
File Processing, Advanced Exception Handling
Topic on Functions and Algorithms and Flow Charts
Applications of C++

Aliyu Ahmed CPE 311: 2022/2023


Overview
Curriculum Overview
Curriculum and Modern C++
Modern C++
Workability

C++ Standard and the Modern C++

Early 1970 2003


C Programming C++003 Standard
Language 2011
Dennis Ritchie
C++11 Standard
1979
2014
Bjarne Stroutstrup
C++14 Standard
C with Classes
2017
1983
C++17 Standard
Name changed to C++
2020
1989
C++20
First Commercial release
2023
1998
C++23
C++98 Standard

Aliyu Ahmed CPE 311: 2022/2023


Overview
Curriculum and Modern C++ IDE
Workability

How does it all work?


Computer must be told EXACTLY what to do
Program - like a recipe
Programming language
source code
high-level
for humans
Editor - used to enter program text
.cpp and .h files
Binary or other low-level representation
object code
for computers
Compiler - translate from high-level to low-level
Linker - links together code with other libraries
creates executable program
Testing and Debugging - finding and fixing program errors
Aliyu Ahmed CPE 311: 2022/2023
Overview
Curriculum and Modern C++ IDE
Workability

The C++ Build process

Aliyu Ahmed CPE 311: 2022/2023


Overview
Curriculum and Modern C++ IDE
Workability

Integrated Development Environment

Several Options available CodeLite - free, cross platform,


small hardware requirement
Editor Code::Blocks - Same as above,
MAC version is buggy
Compiler
NetBeans - Oracle, Java dev.,
Linker C++ plugin, requires jre

Debugger Eclipse - Same as Netbeans


CLion - by JetBrains, great but
Keep everything in Sync not free
Installation: I Use Dev-C++ - Small, fast, but
CodeLite Windows only
KDevelop - cross platform, but
MinGW: Must be no MAC binary
installed firstly Visual Studio - Microsft DE,
See LAB 1 notes for: Windows only for C++
Installation and Xcode - Apple DE, MAC only
setting up. Web-based, Command line,
mobile
Aliyu Ahmed CPE 311: 2022/2023
Overview
Curriculum and Modern C++ IDE
Workability

Integrated Development Environment

Several Options available CodeLite - free, cross platform,


small hardware requirement
Editor Code::Blocks - Same as above,
MAC version is buggy
Compiler
NetBeans - Oracle, Java dev.,
Linker C++ plugin, requires jre

Debugger Eclipse - Same as Netbeans


CLion - by JetBrains, great but
Keep everything in Sync not free
Installation: I Use Dev-C++ - Small, fast, but
CodeLite Windows only
KDevelop - cross platform, but
MinGW: Must be no MAC binary
installed firstly Visual Studio - Microsft DE,
See LAB 1 notes for: Windows only for C++
Installation and Xcode - Apple DE, MAC only
setting up. Web-based, Command line,
mobile
Aliyu Ahmed CPE 311: 2022/2023
Appendix

For Further Reading I

Books:
Deitel, P and Deitel, H (2010): C++ How to Program 10th Edition.
Prentice Hall New York.
Stanley B. Lippman, Josée Lajoie, and Barbara E. Moo : C++ Primer
5th Edition.

Aliyu Ahmed CPE 311: 2022/2023


Appendix

For Further Reading II


Recommended Websites:
www.cplusplus.com
www.geeksforgeeks.org/c-plus-plus/
www.stackoverflow.com
Online C++ compilers and IDEs:
repl.it
ideone.com
cpp.sh
YouTube tutorials and video courses:
TheCherno
ProgrammingKnowledge C++
Online coding platforms:
LeetCode
HackerRank
CodeSignal
Aliyu Ahmed CPE 311: 2022/2023

You might also like