Server Programming (Fall, 2024)
Course Description
This course aims to provide students with a comprehensive understanding of server programming, from basic concepts to practical skills applicable in real-world scenarios. This course covers various topics related to the design and implementation of server programs based on Linux systems and the C programming language, and includes hands-on practice through actual projects.
Course Texts
Class materials
Linux System Programming, Robert Love, O'Reilly.
유닉스 시스템 프로그래밍, 이종원, 한빛미디어.
Optional:
리눅스 프로그래밍 기초, 최태영 외, 한빛미디어.
Course Grading
Exams: 60%
Project: 30%
Etc: 10%
* Subject to change
* Person who is absent more than 3 times will get D.
Instructor
Prof. Jo, Heeseung (For more details... refer here)
Notice
조교 오픈채팅방 여기
강의실 여건으로 다수의 학생들은 본인의 노트북을 지참하여야 합니다.
Hall of Fame
Date |
People |
2024.09.19 |
김기백 황재찬 손의현
|
2024.09.25 |
황재찬 김윤태 박준유
|
2024.09.26 |
김기백 조준화 황재찬
|
2024.10.02 |
No one !
|
2024.10.10 |
김채영 황재찬 조준화
|
2024.10.16 |
황재찬 손의현 김창현 김진혁
|
2024.10.18 |
손정제 김기백 김진혁
|
2024.10.30 |
김윤태 황재찬 손의현
|
2024.10.31 |
황재찬 조준화 김기백
|
Schedule
Topics |
Materials / Homework |
Course overview (Syllabus) |
Putty
WinSCP
|
Operating system review |
|
Basic commands |
hw linux install (Due date: 9/18 23:00)
|
Development environment 1 |
|
TA 1 |
|
Development environment 2 |
|
File I/O |
|
File system |
Filname: studentid.name.zip (ex. 2024123456.honggildong.zip)
|
Process 1 |
|
Process 2 |
|
TA 2 |
제출: /submit 폴더로 zip 파일을 복사할 것
파일명: sp.ta2.202412345.honggildong.zip
확인: /submit2 폴더를 ls 해보면 확인 가능
|
Exam.1, 10/24 목, 18시, S4-1 204호 Closed book, Programming
|
시험시 유의사항
- xshell, putty, command 창 만 사용 가능 (VS Code 등의 IDE 사용 금지)
- 위 이외의 프로그램 사용시 즉시 퇴장
- 인터넷, AI, Copilot 등 사용 금지
- 도움을 받는 행위 금지
- 제출시 zip 파일을 /submit 폴더로 복사
- zip 파일 이름: sp.ex1.202412345.honggildong.zip
- swist1 서버만 사용, 서버에서 외부로 접속 차단
|
Thread |
|
Socket programming 1 |
|
Socket programming 2 |
|
TA 3 |
|
Exam.2, 11/21 목, 16시, S4-1 205호 Closed book, Programming
|
시험시 유의사항 - 1차 시험과 동일
|
Term project
|
Proposal presentation : 11/13 수업시간 (팀당 5-10분)
Proposal ppt guide
Final presentation : 12/4 수업시간 (팀당 5-10분)
Final ppt guide
Evaluation
• 제안된 방안대로 정상적으로 동작하는지 확인
- Proposal에 잘 제시하기 바람
• 성능 개선 또는 기능 개선을 위하여 얼마나 노력하였는지를 평가 예정
- Proposal과 최종 report에 잘 제시하기 바람
• 각 팀별로 git을 이용하여 프로젝트 진행
- git에 commit된 진척도와 팀원이 골고루 commit하였는지 체크 예정
Teams
1 황재찬 고영찬 박준유 웹 퀴즈 서버
https://github.com/AtoZgagWebserver
2 박찬혁 정선미 최원식 김예준 Web Hard disk
https://github.com/2024-ServerProgramming/MultiThreading_WebHardServer
3 허제완 이은채 조은지 Async Web
https://github.com/24-2-SP/webs
4 윤시훈 노혜성 강은혜 김채영 FAINTER
https://github.com/server-fainter
5 김예진 안치현 이정현 웹서버
https://github.com/cbnuteam5
6 김창현 김윤태 김은시 탑다운 슈팅 게임서버
https://github.com/server-programming/brawlstars
7 김진혁 손정제 송호진 주예훈 bittorrent
https://github.com/Jeong-Je/torrent-clone
8 손의현 박수현 전종영 gdb online
https://github.com/orgs/GDB-Online-Clone/repositories
9 정한울 조준화 김지유 nginxX
https://github.com/NginxXServer
10 배수환 김기백 성동현 테트리스 게임서버
https://github.com/ManaP0tion/Tetris_Multi
11 민경원 김동우 다인 협동 방탈출
https://github.com/MinKW1/Server_Programming_24_2
|
* Credit: Most of slides for this lecture are based on materials provided by the textbook publisher.
|