2024 Fall, High-level Language Programming

Class Time and Location

  • Weeks 1-17, Monday, Sessions 7-8(15:30-17:20), Room 4604, Laoshan Campus
  • Weeks 1-17, Tuesday, Sessions 3-4(10:10-12:00), Room 4604, Laoshan Campus

Instructors

  • Teacher:Shishi Qiao (乔师师)
  • Assistant:Shixian Li (李世贤)and Fengqi Chen (陈峰琪)

TextBook

  • Haoqiang Tan, C Programming (5th Edition), Tsinghua University Press
  • Kenneth A. Reek (author) Xu Bo (trans.), C Language and Pointers, People's Posts and Telecommunications Press
  • David Griffiths & Dawm Groffiths (author) Yichao Cheng (trans.), Head First C, People's Posts and Telecommunications Press

Online Learning

Grading Policy

Total Score \({G}_{total}={G}_{OutClass}\times 20\% + {G}_{InClass}\times 30\% + {G}_{FinalExam}\times 50\% + {G}_{award} - {G}_{penalty} - {G}_{absence}\)

  • \({G}_{OutClass}\): Programming Score Out of Class【Opened within Each Week】 Reference Allowed but No Plagiarism
  • \({G}_{InClass}\): Programming Score In Class【Opened on Experimental Sessions】Reference and Plagiarism Not Allowed
  • \({G}_{FinalExam}\): Final Exam Score【All Hand-written Programming

Award Policy

Outstanding Performance \({G}_{award}=2/time\) (Maximum cumulative to 10), including:

  • Topic Discussion
  • Experience Share
  • etc.

Penalty Policy

Bad Behavior \({G}_{penalty}=5/time\) (Cumulative), including but not limited to

  • In Class: playing phone, whispering, doing homework, etc.
  • Online Platforms: spamming or flooding discussions, unhealthy or inappropriate remarks, spreading negativity or pessimism, etc.

Absence Policy

Attendance Penalty without reasons \({G}_{absence}=5/time\) (Cumulative)

  • Must provide the Leave Request in paper for personal reasons.

TOP Return

Syllabus and Lecture Notes

Note: The design and slides of this course mainly refer to Prof. Ge Li's Introduction to Computing and C Language Fundamentals and Advanced C Programming in the course series Programming and Algorithms of Peking University.

0 Introduction to Computing

Lessons Weeks Date Content Materials
1 0th Saturday, September 14, 2024 Class Matters; Course Orientation and Main Content; Fundamentals of Computers Slides
L1 2nd Monday, September 23, 2024 Lab 1: Familiar with the Basic Operation of the Linux Operating System Manual
2 2nd Tuesday, September 24, 2024 History and Future of Computers; How the Program Works; Operating Systems and Programming Languages Slides
L2 2nd Sunday, September 29, 2024 Lab 2: Familiar with the Linux Programming Environment Manual

1 Perceptual Understanding of Computer Programs

Lessons Weeks Date Content Materials
3 3rd Monday, September 30, 2024 Quickly Dive into the C program Slides
L3 4th Tuesday, October 8, 2024 Lab 3: Compilation, Running and Debugging of C Programs Manual
4 4th Saturday, October 12, 2024 From Real-world Problems to Computer Programs Slides
L4 5th Monday, October 14, 2024 Lab 4: Perceptual Contact C Programs Manual

2 Rational Understanding of Computer Programs

Lessons Weeks Date Content Materials
5 5th Tuesday, October 15, 2024 Origin, Standards and Composition of the C Language; Data Components Slides
L5 6th Monday, October 21, 2024 Lab 5: Data Components of C Language Manual
6 6th Tuesday, October 22, 2024 Computing Components; Control Components; Input/Output Components Slides
L6 7th Monday, October 28, 2024 Lab 6: Data, Computating and Control Components in C Language Manual
7 7th Tuesday, October 29, 2024 Array Slides
L7 8th Monday, November 4, 2024 Lab 7: Arrays in C Language Manual
8 8th Tuesday, November 5, 2024 String Slides
L8 9th Monday, November 11, 2024 Lab 8: Strings in C Language Manual

3 Structured Programming

Lessons Weeks Date Content Materials
9 9th Tuesday, November 12, 2024 Function Slides
L9 10th Monday, November 18, 2024 Lab 9: Function in C Language Manual
10 10th Tuesday, November 19, 2024 Recursion Slides
L10 11th Monday, November 25, 2024 Lab 10: Recursion in C Language Manual

4 Complex Data Structures

Lessons Weeks Date Content Materials
11 11th Tuesday, November 26, 2024 Pointer (i) Slides
L11 12th Monday, December 2, 2024 Lab 11: Pointer in C Language (i) Manual
12 12th Tuesday, December 3, 2024 Pointer (ii) Slides
L12 13th Monday, December 9, 2024 Lab 12: Pointer in C Language (ii) Manual
13 13th Tuesday, December 10, 2024 Pointer (iii) Slides
L13 14th Monday, December 16, 2024 Lab 13: Pointer in C Language (iii) Manual
14 14th Tuesday, December 17, 2024 Struct and Linked List Slides
L14 15th Monday, December 23, 2024 Lab 14: Struct and Linked List in C Language Manual
15 15th Tuesday, December 24, 2024 Object-oriented Programming Slides
L15 16th Monday, December 30, 2024 Lab 15: Comprehensive Programming Practice (i) Manual

5 Concluding Remarks

Lessons Weeks Date Content
16 16th Tuesday, December 31, 2024 Course Summary
L16 17th Tuesday, January 7, 2025 Lab 16: Comprehensive Programming Practice (ii)

6 Final Exams

Lessons Weeks Time and Location Content
- - - - Final Exams

TOP Return

Sources and Tools

Contact

TOP Return