SSE2033: System Software Experiment 2 (Spring 2017)

Programming Assignment 1 (Due: 4/3 11:59PM)

Notice (3/24)

Index Builder와 Index Printer의 차이점과 대해 알려드립니다.

  • Index Builder
    전체적으로, 이번 과제에서 구현해야 하는 거의 모든건 Index Builder에 해당합니다.
    가능한 한 빠른 시간 내에, 각 단어의 총 출현 횟수와 위치 정보를 얻어 Index라는 파일로 출력하는게 Index Builder의 목적입니다.
    채점에 실행 시간도 포함될꺼라 얘기드렸는데, Index Builder의 속도만 측정합니다.

    Index 파일의 형식은 기본적으로는 결과적으로 출력해야 하는 output 파일의 형식과 같습니다.
    다만, 만일 좀 더 간결한 형식이 정보 전달에 편할 것 같다고 생각이 된다면, (','나 ':' 같은걸 쓰기 싫다면) 그렇게 구현하셔도 좋습니다.
    만일 Int → ASCII로 바꾸는 과정이 너무 불편한 것 같다고 생각이 든다면, 그런걸 생략하셔도 좋습니다.
    하지만, 모든 연산은 Index Builder에서 끝나야 하고, Index Printer는 단순히 읽기만 해야 합니다.
  • Index Printer
    Index파일의 형식이 output파일의 형식과 매우 비슷하다보니, Index Printer를 단순히 'cp'와 비슷하게 구현하면 되지 않을까
    생각할 수도 있습니다. 하지만, 이 경우 점수로 인정되지 않습니다.
    Index Builder에서와 같은 모양으로 자료구조(링크드 리스트 등)을 만든 후에 출력을 해야 합니다.
    대신, Index Printer의 runtime은 채점항목에 포함되지 않아, 느리게 구현하셔도 됩니다.

skeleton of ex3

Programming Assignment 0 (Due: 3/20 11:59PM)

  • Submission status: (Revisied at 06:54 on March 21)
    • No delay: 신준영, 조한진, 이수용, 김성환, 권도완, 김경모, 송민우, 정재인, 신준혁, 윤종준, 정예준, 이준호, 이재명, 우지원
    • 1-day delay: 손현국
  • skeleton of pa0
  • answer for pa0
    • 1. http://www.stewartonbibleschool.org.uk/bible/text/
      모든 파일에 대해 정답을 출력해야만 100점입니다.
    • 2. unistd.h / fcntl.h를 제외한 다른 헤더파일은 include하면 안됩니다.
    • 3. Warining이 하나 나타날 때마다 1점씩 최대 10점 감점됩니다.
    • 4. 3/20일이 마감입니다. 이후엔 하루 초과할 때마다 10점씩 감점됩니다.

Notice (3/15)

  • 과제를 진행하시면서 어려울 수 있는 부분들이 있어 미리 알려드립니다.
    1. isaiah.txt의 경우, 중간(651줄)에 성서와 관계없는 내용이 갑자기 나타나기도 합니다.
    2. romans.txt의 경우, 각각의 줄이 숫자가 아닌 ' '로 시작합니다.
    때문에 모든 성서 파일에 대해 테스트를 통과하기 위해서는 각각의 줄이
    "[ ]숫자1:숫자2:"
    의 형식으로 시작하는지를 확인하는 과정이 필요합니다.
  • 과제 0번의 output에 대해 질문이 많았습니다.
    과제 0번은 터미널 화면에만 결과를 출력하면 되는게 맞습니다.
    터미널 화면에 내용을 출력하는 방법은
    write(1, "내용", length)
    와 같이 fd 자리에 1을 넣어주면 됩니다.
    pa0.pdf에 genesis_out.txt와 같이 파일로 출력하라는 내용이 있지만,
    이번 과제에 해당되는 내용이 아닙니다. 이 부분은 무시하시면 됩니다.
  • 제출된 프로그램이 잘 동작하는지 확인은 오직
    (http://www.stewartonbibleschool.org.uk/bible/text/)
    위의 링크에서 다운 받을 수 있는 성경 파일에 대해서만 확인할 예정입니다.
    위 성경 파일에 대해서 잘 동작한다면, 과제 점수를 다 받으실 수 있습니다.
  • 스켈레톤 코드에서 파일 이름을 받아오는 코드에 문제가 있습니다.
    코드에서 argc < 1 부분이 있는데, 이 부분이 의도한 것처럼 동작하기 위해서는
    argc < 2로 바뀌어야 합니다.
    문제를 수정한 스켈레톤 코드를 다시 업로드 했습니다.