Advanced Programming Language 2026 Autumn

Quick links: schedule, policies, Google Classroom (assignment submission)



This course is based on Harvard University's CS50 (available at https://cs50.harvard.edu/x/) and extends its content with a deeper focus on C language memory management and low-level implementation details. Students are expected to watch the CS50 video lectures and related materials in advance, and the weekly in-class sessions will further explore the underlying mechanisms, advanced examples, and additional theoretical concepts. In addition to completing the CS50 programming assignments, students will also work on supplementary programming exercises designed to strengthen their understanding of system-level programming and algorithmic problem-solving. By the end of this course, students will have gained a solid foundation in computer science fundamentals, an understanding of how computers work, and the ability to program effectively and solve problems methodically.

Instructor: QI Lin (qilin -at- ouc.edu.cn)

Lectures: Monday, 10:10AM-12:00AM
2407, Section 2, Teaching Building, Laoshan Campus

Labs: Monday, 13:30PM-15:20PM
2407, Section 2, Teaching Building, Laoshan Campus

TA: Liu Zerui

Instructor and TA office hours: Monday, 15:30PM-16:00PM

Contacting the course staff: For emergencies and special circumstances, please email the instructor. For questions about lectures and assignments, use the Google Classroom. For other questions about the course, contact the responsible TA.

Prerequisites: Basic operations of computer. No previous exposure to programming is required.

Grading scheme:

  • Programming assignments: 30% of the grade
    • SOLO work
    • Will be using C, Python with CS50.dev
  • Attendence: 10% of the grade
  • Mid exam: 20% of the grade
  • Final exam: 40% of the grade
Be sure to read the course policies!

Schedule (tentative)

Date Topic Assignments
September 21 Introduction: Slides (access from our Google Classroom) Self-study: How to Take CS50
September 28 Data representation: Slides Optional study: Scratch
October 12 Data types: Slides Problem Set 1
October 19 Arrays: Slides Problem Set 2
October 26 Arrays cont.  
November 2 Arrays cont.  
November 9 Pointers: Slides  
November 16 Pointers cont.  
November 23 Pointers cont.  
November 30 Midterm exam.  
December 7 Memory: Slides  
December 14 Memory cont.  
December 21 Memory cont.  
December 28 Compiling: Slides  
January 4 Compiling cont.  
January 11 Final Examination  

Webpage template credit: SVETLANA LAZEBNIK.