Skip to content

Lab0: Environment Setup

实验简介

工欲善其事,必先利其器

Lab0的目的是帮助大家熟悉环境并掌握一些基础工具的使用;我们也鼓励大家更多的进行一些课外的动手实践,并为大家整理/提供了一些额外的学习资源,有兴趣可自行学习/动手实践,强大动手能力会是大家学习CS路上的左膀右臂。

本文内容总共包含以下几个部分:

  • Linux环境准备
  • 使用VSCode进行开发
  • 一些其他有用的学习资源

Linux环境准备

本课程的所有实验都必须在Linux环境下进行,本小结简单介绍如何搭建并在Linux环境下进行开发。

ICS-Server

考虑到大部分同学第一次接触Linux,在第一次搭建环境的过程中可能会遇到很多困难,ICS课程团队为每位同学准备了校内的Linux服务器环境,并称这个环境为ICS-Server。

ICS-Server是该课程所有实验的标准环境,后续的具体实验任务也会直接分发到各个同学的服务器目录中。因此,不论你选择使用ICS-Server还是搭建本地Linux环境进行后续实验,都建议首先熟悉ICS-Server的使用。

ICS-Server的具体登录和使用方法,详见ICS-Server登录与使用

本地Linux环境构建方法简介

本课程的实验在稳定的Linux环境下均可以顺利完成,考虑到课程结束后ICS-Server账号将回收,并且Linux也是后续大家在学习/深造中重要开发平台与学习工具,我们非常鼓励大家自行搭建属于自己的Linux环境。

本地Linux环境构建方法详见本地Linux构建文档

VSCode配置

Visual Studio Code(简称 VSCode)是一款由微软开发且跨平台的免费源代码编辑器。

VSCode强大之处在于其“远程”开发能力,这里的远程包括:

  • 登录到远程的服务器上进行开发,真正地work remotely
  • 登录到本地的虚拟机/docker环境开发

当然,我们也推荐大家采用自己习惯的工具进行开发。

有关VSCode远程开发的配置与使用详见VSCode远程开发

实用工具学习

本小节提供一些优质的学习资源,以便同学们对Linux开发环境的快速上手。

开发工具的学习不必像学习其他理论课程一样教条,关键在于多上手,多查阅,多探索,用到什么学什么,而不是全部学完再上手,切勿死记硬背

Linux使用入门

考虑到绝大多数同学可能并没有Linux使用经验,这里简要为大家准备Linux入门相关资源,请大家结合自身情况进行学习:

MIT 6.NULL

这是MIT为计算机本科生开的一门课《你计算机科学教育中遗失的一学期》,主要用于系统的教学一些基本的工具使用,教学非常全面,大家可以作为简单入门Linux之后完整的计算机工具课。

B站中有对应的公开课视频资源

这门课可以学到很多有用的工具,但是由于这门课相对比较深入,更加建议以它作为工具类课程的进阶部分。

其他的一些coding tools

  • vim/neovim/emacs等:可以用于修改小文件,如常见的配置文件等,基于终端使用非常方便
  • zed/antigravity等:更好的集成了一些AI工具,可以加速开发效率等
  • git/tmux等:一些实用的终端工具

网络上可以查找到非常多的教程,这里就不再赘述,有兴趣的同学可以自行搜索。

评分方法与代码提交

本实验为环境搭建与工具熟悉实验,并不占最后实验分值计算,也无需提交任何形式的文件代码。

但是本实验是后续所有实验的前置基础,请同学们务必详细阅读并准备好基于Linux的开发环境。