Course Information

Course Title: Programming Language I (C++)
Course Code: BJSL0022
Classes: 57S261, JS126C
Lecture: Th 3-5 (9:50 - 12:15), Rm TBD
Lab: Th 6-8 (14:00 - 16:35), Rm TBD, NO LAB on Weeks 1, 3, 5, 7, 15!
Instructor: Prof. Yuan QIU, Rm 434, Library (N), Jiulonghu Campus, yuanqiu@seu.edu.cn
Textbook: C++ How to Program by Paul Deitel and Harvey Deitel, ISBN: 978-7121290015
Reference: C++ Primer Plus by Stephen Prata, ISBN: 978-7115279460
Grading Schema:
  • 40% from continuous assessment, including
    • 10% from attendance and in-class discussions
    • 20% from Lab assignments (8 x 2.5% each)
    • 10% from a paper quiz after finishing Chapter 6
  • 60% from final exam, including
    • 40/100 pts for paper exam
      • 20 pts for reading code and writing its output
      • 20 pts for completing code
    • 60/100 pts for coding exam
      • 2-4 programming problems

Announcements

  • Understand by doing. The only way to learn languages is through serious practice.
  • Welcome to C++!

Schedule

Date Wk Event Topic Note
2026.09.24 1 Lecture Introduction to Computers and C++
Input and Output
Chapter 1 Slides
C++ How to Program: Chap 1, 2
C++ Primer Plus: Chap 1, 2
2026.10.01 2 Holiday National Holiday
2026.10.08 3 Lecture Data Type
Arithmetic Operation
Comparison
Assignment
If Statement
C++ How to Program: Chap 2, 4.5
C++ Primer Plus: Chap 2.2, 3
2026.10.15 4 Lecture OOP and Class
Data Member
Member Function
Constructor
C++ How to Program: Chap 3.1 - 3.5, 3.8
C++ Primer Plus: Chap 10
2026.10.15 4 Lab Introduction to C++ Programming
2026.10.22 5 Lecture Interface
If/Else Statement
While Loop
Increment Operator
C++ How to Program: Chap 3.6 - 3.7, 4
C++ Primer Plus: Chap 5.2, 6.1, 6.4, 9.1
2026.10.29 6 Lecture For Loop
Do/While Loop
C++ How to Program: Chap 5.1 - 5.5
C++ Primer Plus: Chap 5.1, 5.3
2026.10.29 6 Lab Class, Object and std::string
2026.11.5 7 Lecture Switch/Case
Enum
Break and Continue
Logical Operators
C++ How to Program: Chap 5.6 - 5.10, 6.8
C++ Primer Plus: Chap 4.6, 6.2, 6.5 - 6.7
2026.11.12 8 Lecture Function
Implicit Conversion
Random
C++ How to Program: Chap 6.1 - 6.9
C++ Primer Plus: Chap 7
2026.11.12 8 Lab Control Statements I
2026.11.19 9 Lecture Storage Class
Linkage
Scope
C++ How to Program: Chap 6.10 - 6.12
C++ Primer Plus: Chap 9.2
2026.11.19 9 Lab Control Statements II
2026.11.26 10 Lecture Pass by Reference
Inline Function
C++ How to Program: Chap 6.13 - 6.15
C++ Primer Plus: Chap 8.1 - 8.2
2026.11.26 10 Lab Function I
2026.12.03 11 Lecture Overloading
Default Argument
Function Template
C++ How to Program: Chap 6.16 - 6.19
C++ Primer Plus: Chap 8.3 - 8.5
2026.12.03 11 Lab Function II
2026.12.10 12 Lecture Midterm Quiz
Recursion
C++ How to Program: Chap 6.20 - 6.22
C++ Primer Plus: Chap 7.9
Further Reading: Introduction to Algorithms: Chap 15
2026.12.10 12 Lab Recursion and Iteration
2026.12.17 13 Lecture C-style array
C-string
std::array
C++ How to Program: Chap 7.1 - 7.6, 8.5, 8.10
C++ Primer Plus: Chap 4.1 - 4.2, 4.10
2026.12.17 13 Lab C-style array and std::array
2026.12.24 14 Lecture Sorting and Searching
std::vector
C++ How to Program: Chap 7.7 - 7.10, 20
C++ Primer Plus: Chap 4.10, 16.7
2026.12.24 14 Lab Multidimensional arrays and std::vector
2026.12.31 15 Lecture Address
Pointer
Pass by Pointer
C++ How to Program: Chap 8
C++ Primer Plus: Chap 4.7
2027.01.07 16 Lecture Pointer and Array
Selection Sort
C-String Functions
C++ How to Program: Chap 8, 22.7 - 22.8
C++ Primer Plus: Chap 4.8
2026.01.07 16 Lab Pointer Lab ends early at 15:35