kaist-cp / cs220
- суббота, 3 сентября 2022 г. в 00:33:45
It is strongly recommended that students already took courses on:
Without a proper understanding of these topics, you will likely struggle in this course.
Make sure you're capable of using the following development tools:
Git: for downloading the homework skeleton and version-controlling your development. If you're not familiar with Git, walk through this tutorial.
IMPORTANT: you should not expose your work to others. In particular, you should not fork the upstream and push there. Please the following steps:
Directly clone the upstream without forking it.
$ git clone --origin upstream git@github.com:kaist-cp/cs220.git
$ cd cs220
$ git remote -v
upstream git@github.com:kaist-cp/cs220.git (fetch)
upstream git@github.com:kaist-cp/cs220.git (push)
To get updates from the upstream, fetch and merge upstream/main
.
$ git fetch upstream
$ git merge upstream/main
If you want to manage your development in a Git server, please create your own private repository.
You may upgrade your GitHub account to "PRO", which is free of charge.
Refer to the documentation.
Set up your repository as a remote.
$ git remote add origin git@github.com:<github-id>/cs220.git
$ git remote -v
origin git@github.com:<github-id>/cs220.git (fetch)
origin git@github.com:<github-id>/cs220.git (push)
upstream git@github.com:kaist-cp/cs220.git (fetch)
upstream git@github.com:kaist-cp/cs220.git (push)
Push to your repository.
$ git push -u origin main
Rust: as the language of homework implementation. We chose Rust because its ownership type system greatly simplifies the development of large-scale system software.
We recommend you to read this page that describes how to study Rust.
Visual Studio Code (optional): for developing your homework. If you prefer other editors, you're good to go.
You can connect to server by ssh s<student-id>@cp-service.kaist.ac.kr -p13000
, e.g., ssh s20071163@cp-service.kaist.ac.kr -p13000
.
IMPORTANT: Don't try to hack. Don't try to freeze the server. Please be nice.
Your initial password is 123454321
. IMPORTANT: you should change it ASAP.
I require you to register public SSH keys to the server. (In March, we'll expire your password so that you can log in only via SSH keys.)
See this tutorial for more information on SSH public key authentication.
Use ed25519
.
In your client, you may want to set your ~/.ssh/config
as follows for easier SSH access:
Host cs220
Hostname cp-service.kaist.ac.kr
Port 13000
User s20071163
Then you can connect to the server by ssh cs220
.
Now you can use it as a VSCode remote server as in the video.
NOTE: If permission denied error occurs when trying to install CodeLLDB Extension
into the
remote server, please follow the steps:
NOTE: If you cannot connect to the remote server via VSCode with fail to create hard link
error message, please follow the steps:
Connection timed out
error message, try again after a few minutes.~/.vscode-server/bin/
.IMPORTANT: PAY CLOSE ATTENTION. VERY SERIOUS.
Please sign the KAIST CS Honor Code for this semester. Otherwise, you may be expelled from the course.
We will use sophisticated tools for detecting code plagiarism.
For details, see https://gg.kaist.ac.kr/course/12.
Date & Time: TBA (midterm) and TBA (final), 13:00pm-15:45pm (or shorter, TBA)
Place: Rm. 1501, Bldg. E3-1, KAIST
You should solve a quiz at the Course Management website for each session. You should answer to the quiz by the end of the day.
If you miss a significant number of sessions, you'll automatically get an F.
Make sure you can log in the lab submission website.
Reset your password here: https://gg.kaist.ac.kr/accounts/password_reset/
The email address is your @kaist.ac.kr
address.
The id is your student id (e.g., 20071163).
Log in with your student id and the new password. If you cannot, please contact the head TA in the chat.
Course-related announcements and information will be posted on the website as well as on the GitHub issue tracker. You are expected to read all announcements within 24 hours of their being posted. It is highly recommended to watch the repository so that new announcements will automatically be delivered to you email address.
Ask questions on course materials and assignments in this repository's issue tracker.
Don't send emails to the instructor or TAs for course materials and assignments.
Before asking a question, search it in Google and Stack Overflow.
Describe your question as detailed as possible. It should include following things:
Give a proper title to your issue.
Read this for more instructions.
I'm requiring you to ask questions online first for two reasons. First, clearly writing a question is the first step to reach an answer. Second, you can benefit from questions and answers of other students.
Ask your questions via email only if they are either confidential or personal. Any questions failing to do so (e.g. email questions on course materials) will not be answered.
We are NOT going to discuss new questions during the office hour. Before coming to the office hour, please check if there is a similar question on the issue tracker. If there isn't, file a new issue and start discussion there. The agenda of the office hour will be the issues that are not resolved yet.
Emails to the instructor or the head TA should begin with "CS220:" in the subject line, followed by a brief description of the purpose of your email. The content should at least contain your name and student number. Any emails failing to do so (e.g. emails without student number) will not be answered.
If you join the session remotely from Zoom (https://kaist.zoom.us/my/jeehoon.kang),
your Zoom name should be <your student number> <your name>
(e.g., 20071163 강지훈
).
Change your name by referring to this.
This course is conducted in English. But you may ask questions in Korean. Then I will translate it to English.