EEE5501-01 Advanced Programming (Spring 2026)

Lectures:  Thursday 2-3:50 PM @ B039

Lectures-labs-credits:  3-0-3

 

Instructor:  William J. Song (Office: Engineering Building #3, C410, Email: wjhsong {\at} yonsei {\dot} ac {\dot} kr, Phone: 02-2123-2864)

Teaching assistant:  TBD

 

Office hours:

  • Instructor:  Thursday 10-11 AM, or by appointment
  • Teaching assistant:  By appointment

 

Prerequisites:

  • Introduction to C/C++ Programming or equivalent
  • EEE2020 Data Structures and Algorithms in C/C++

 

Class objectives:  This course covers advanced C/C++ programming techniques in Linux environment. Class objectives are as follows.

  • Learning advanced programming techniques
  • Understanding software-hardware interactions
  • Parallel programming practice

 

Class rules:

  • Honest and ethical behaviors are expected at all times. Any form of cheating will be severely penalized and reported to the university administration. This is a one-strike policy.
  • Students must complete all assignments individually but are encouraged to seek help from the instructor or the teaching assistant (TA).
  • Discussions between students are allowed, but sharing assignment solutions or source code is strictly prohibited.
  • Lectures will be conducted entirely in English. Students may use Korean for Q&As.
  • Requests for partial credits on assignments will be considered cheating attempt. Any student making such a request will lose all scores.

 

Textbook:

  • Lecture slides

 

Grading:

  • Attendance:  20%
  • Class participation:  5%
  • Programming assignments:  75% (subject to change)
    • Assignment #1:  Class
    • Assignment #2:  Template
    • Assignment #3:  Multi-threading
    • Assignment #4:  Message passing interface
    • Assignment #5:  GPU programming

 

Course plans:  (subject to change)

Weeks Dates Lectures Notes
1 03/05 Introduction
2 03/12 Class
3 03/19 Memory
4 03/26 Makefile Assignment #1
5 04/02 Debugging
6 04/09 Template Assignment #2
7 04/16 Template
8 Midterm (no class)
9 04/30 Multi-threading Assignment #3
10 05/07 Multi-threading
11 05/14 Message passing interface Assignment #4
12 05/21 Message passing interface
13 05/28 GPU programming Assignment #5
14 06/04 GPU programming
15 Dead week (no class)
16 Final (no class)