메뉴 닫기

SWE2024-43: System Programming Lab (Fall 2019)

[News]

  • (9/1) Let’s have fun with System Programming!
  •  (10/10) Please check assignment again

[General Info]

Class Time: 18:00 ~ 21:45 (Wednesday)

Room Number : #21514, Engineering Building 1

Official Language : English

Instructor : Prof. Euiseong Seo

Course Description: This is a supplementary lab course for the system program course (SWE2001). In this course, students will earn hands-on experiences in writing system program code, performance analysis and optimization.

Textbook : 

References

Grading: (subject to change)

  • Class attendance: 10%
  • Final Exam: 40%
  • 3 Programming Assignments: 50%

TA:

  • Hyeonsu Lee (hyeonsu.lee@csi.skku.edu)
  • Seungmin Oh (ohsm1008@gmail.com) 

[Schedule]

The following scheduling is tentative and subject to change without notice.

Week Topic Date
Week1 Introduction 9/4
Week2 Intro to Linux 9/11
Week3 File I/O(1) 9/18
Week4 Holiday 9/25
Week5 Process 10/2
Week6 Holiday 10/9
Week7 Signals 10/16
Week8 Mid-term Exam Week 10/23
Week9 No Class 10/30
Week10 IPC 11/6
Week11 Socket 11/13
Week12 Concurrency 11/20
Week13 Pthread 1 11/27
Week14 Pthread 2 12/4
Week15 Pthread 3 12/11
Week16 Final Exam Week 12/18

[Resource]

[Assignments]

 

 * Assignment 1
    – due: 10/25, 11:59 PM 

    – The following fixes were made [update 10/17] 
            In 7. Example: ‘she tom’ => ‘she (new line) tom’
            In 7. Example: ‘he * is’ => ‘he*is’ (In case 4, the * between the two words appears without spaces.)

            In 7. Example: ‘summer(new line)is’ => ‘summer is’ 
            In 4.2: ‘one or more characters’ => ‘one or more words’

    –  500-Days-of-Summer_s.txt   answer.out
    – Please re download document file and answer.out.

      1. Line number starts with 1. Index starts with 0. 

      2. In case 4, there could be a space between words 1,2 and *.

      3. There are some errors in Example. If you search ‘he’, you just print only ‘he’, not ‘she’, ‘he.’, ‘her’, ‘he’s’, etc,.

      4. In cases 2 and 3, multiple words (more than 2 and 3) can be given as input.

      5.   If input has ” character, it is case 3.

            – If input has * character, it is case 4.
            – If input doesn’t have ” or * and multiple words, it is case 2.
            – If input doesn’t have ” or * and single words, it is case 4. 

            – there are no case ” and * exist at same time. 
 

      6. In case 4, input value is always two words.

      7.  The word’s criterion is always white space. For example, if we want to find ” is. “, it must be searched for ” is. ”               , not “is”.

 

 * Assignment 2

    – due: 12/1, 11:59 PM 

1. cp corresponds to type3, not type2.

2. Synopsis type2 programs may or may not have a file as an argument. That is, if file is found, data is read from file, if not, data is read from stdin.

   cat file-> cat [file] (For all programs of type2)