EEE5501-01 Advanced Programming (Spring 2025)

Lectures:  Tuesday 1-2:50 PM, Thursday 1-1:50 PM @ B731

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 otherwise by appointment
  • Teaching assistant:  TBD

 

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 attempt at cheating will be severely penalized, and incidents will be reported to the university administration for further action – No excuses will be accepted. It will be a one-strike out.
  • Students must complete all assignments individually but are encouraged to seek help from the instructor or teaching assistant (TA).
  • Discussions between students are allowed, but assignment solutions (i.e., source codes) must not be shared.
  • Lectures will be conducted only in English. Students may use Korean for Q&A.
  • Asking partial credits for assignments will be considered a cheating attempt, and any student doing so 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
    • Assignment #6:  TBD

 

Course plans:  (subject to change)

Weeks Dates Lectures Notes
1 03/04 03/06 Introduction
2 03/11 03/13 Class Assignment #1
3 03/18 03/20 Memory
4 03/25 03/27 Makefile
5 04/01 04/03 Debugging Assignment #2
6 04/08 04/10 Template
7 04/15 04/17 Template Assignment #3
8 Midterm (no class)
9 04/29 05/01 Multi-threading
10 05/08 Multi-threading Assignment #4
11 05/13 05/15 Message passing interface
12 05/20 05/22 Message passing interface Assignment #5
13 05/27 05/29 GPU programming
14 06/03 06/05 GPU programming Assignment #6
15 Dead week (no class)
16 Final (no class)