Course Description

This course provides an introduction to the Linux programming environment. Participants will become acquainted with shell commands, editors, ctags/cscope, compilers, debuggers, source code management tools, command scripts, scripting languages, and tracing tools

Important Notes

  • The class EE485A will be online and run live over Zoom.
  • No mid-term and final exams.
  • We will use Campuswire and KLMS.
  • To contact TAs, please use kaist.ee485a.ta.fall24@gmail.com instead of individual emails.
  • We will not answer emails sent to individuals.
  • We do not accept late submissions. Please submit assignments before the deadline.

Class Overview

  • This course teaches students to learn and practice basic programming tools (like emacs, gcc, gdb, git, UNIX commands) in the Linux programming environment.
  • The goal of this course is to get familiar with the Linux programming environment.
  • This course will provide you with the necessary tools to feel comfortable with the EE209 programming assignments.

Lectures :

  • When: Fri, 10:30am~11:45am
  • Where: Zoom link announced on Campuswire

Professors :

Name Office Hours Office Email
Steven Euijong Whang By appointment N1, 516 swhang@kaist.ac.kr
Insu Han By appointment N1, 914 insu.han@kaist.ac.kr

Important Schedule:

Date Class / Assignment
9/6 Lecture 1: Introduction to UNIX and C (bash_manual.pdf) [slides]
9/13 Lecture 2: UNIX shells and basic UNIX commands [slides]
9/20 Lecture 3: Editors (vscode) [slides]
9/27 Lecture 4: C compilers [slides]
10/4 Lecture 5: Debuggers [slides]
10/11 Lecture 6: Debugging techniques [slides]
10/18 Lecture 7: Makefile [slides]
11/1 Lecture 8: Sanitizer [slides]
11/8 Lecture 9: Version control systems [slides]
11/15 Lecture 10: System performance monitoring [slides]
11/22 Lecture 11: How a UNIX shell works

Teaching Assistants :

Name
Minkyoo Song Taeha Kim Hanna Kim Jinwoo Baek Sangyoon Ji
Taewoo Suh Eun Seop Yoon JunYeop Sim Seungjae Lee Wongyong Seo

Office hour:

Professors' office hours

  • Start the email subject with [EE485A].
  • Set up an appointment by contacting the professor via email.
    • E.g., "Hello Professor XXX" is not a good email subject, but "[EE485] Office hour registration" is.

TA office hours

Recommended Books

  • No textbooks but we have recommendations.
  • William Shotts, The Linux Command Line, 2nd edition
    • Linux commands, Bash shell, ssh/scp, etc.
  • Neil Matthew and Richard Stones, Beginning Linux Programming, 4th Edition
  • Richard Blum and Christine Bresnahan, Linux Command Line and Shell Scripting Bible

Grading Policy

  • Hands-on practice (100%)
  • No mid-term & final exams

Class Policy

  • Students are encouraged to interact with classmates, as well as the professor and the TAs, to discuss course material and assignment problems. In all your writing, including homework, essays, reports, and exams, use your own words, and acknowledge the source if you use someone else’s slides, quotes, figures, text, etc. Plagiarism and cheating are serious offenses and will be punished by failure on assignments/course, and suspension or expulsion from the university.