Development setup
You do not need every tool at once. Choose one reliable setup for your course, task, or research track.
Before installing
Development environment fundamentals
Begin with file paths, environment variables, and terminals, then distinguish compilers, interpreters, editors, and IDEs: they build or run code and provide the development workspace. Prefer clear default installation paths, record versions and locations, and preserve the full error plus the steps that produced it.
Java / JDK / IntelliJ IDEA
Language and development tools · Oracle / JetBrains
Java is a statically typed, object-oriented language that runs on the JVM and is widely used in coursework, backend services, and large systems. The JDK (Java Development Kit) provides the compiler, runtime, and debugging tools, while IntelliJ IDEA is the workspace for writing and managing a project. Follow the version required by your course or project, then run one minimal program in IDEA.
C / C++ / Visual Studio
Compiled languages and IDE · Microsoft
C and C++ are compiled languages with strong performance and direct control over memory and system resources. They are useful for programming courses and performance-sensitive work. As a beginner, keep setup simple: select the Desktop development with C++ workload in Visual Studio, create a console project, run it, and learn to read compiler errors.
Visual Studio is a full IDE; Visual Studio Code is a separate lightweight editor.
Python / PyCharm / VS Code
Interpreted language and tools · Python Software Foundation / JetBrains / Microsoft
Python is popular because its readable syntax is backed by mature ecosystems for scientific computing, AI, data analysis, automation, and the web. The Python interpreter runs the code; PyCharm and VS Code are environments for writing and debugging it, and either one is enough. After your first script works, learn pip, virtual environments, and requirements.txt so projects do not conflict.
Jupyter Notebook
Interactive computing environment · Project Jupyter
Jupyter Notebook keeps code, results, charts, and explanations in one document, making it useful for inspecting data, testing ideas, and recording experiments step by step. It is excellent for exploration, but out-of-order cells can hurt reproducibility, so stable work should move into clearly structured scripts or projects.
MATLAB
Scientific computing platform · MathWorks
MATLAB is built around matrix computing and engineering toolboxes, making it useful for signal processing, communications experiments, plotting, and rapid algorithm validation. Many common engineering methods are available as ready-to-use functions. Begin with MATLAB Onramp, learn scripts, matrices, and plotting, then add toolboxes only when a task needs them.
JavaScript / TypeScript / Node.js
Web and application runtime · OpenJS Foundation / Microsoft
JavaScript is the foundation of web development, while Node.js runs it outside the browser and underpins modern frontend tooling, Next.js, backend services, and command-line tools. npm manages project dependencies and scripts, and TypeScript adds type checking for larger codebases. This ecosystem is common for building AI interfaces, connecting model services, and creating tools, while Python remains more common for model training and data analysis.
Start with the official LTS release, then check the setup with node -v and npm -v. Learn what package.json records and how to use npm install and npm run dev. If a course or project requires a specific Node.js version, follow that requirement.
Code and collaboration
Once code runs, make every change traceable, reversible, and collaborative.
Git and GitHub
Version control and collaboration · Git / GitHub
Git records code changes locally so you can compare revisions, recover from mistakes, and work on separate branches. GitHub hosts repositories online for sharing, discussion, and review. First complete the minimal clone, pull, commit, and push workflow; then learn branches and pull requests. Do not keep important work on only one computer.
README, Markdown, and commit habits
Project documentation and commit practice
A README explains what a project does and how to install and run it; Markdown is the lightweight format commonly used for that documentation. Keep each commit focused and state what changed. Use .gitignore for environments, caches, secrets, and data that should stay local, and always inspect the diff before committing.
Finding papers
Different services support broad search, bibliographic verification, publisher access, preprints, and reference management.
Google Scholar
Academic search · Google
Use keywords, authors, citation counts, and cited-by links to discover papers and follow how a topic developed. Treat it as a discovery tool rather than the final authority: verify the authors, year, venue, version, and original source.
Access note: may require a proxy in mainland China
DBLP
Computer science bibliography · Schloss Dagstuhl / Trier University
DBLP is a computer-science bibliography for verifying authors, venues, years, and publication records, and for tracing a researcher's publication history. It is not itself a paper repository; external links lead to publishers or open versions. For identical names, compare affiliations, coauthors, and research topics.
IEEE Xplore
Research and standards database · IEEE
IEEE Xplore indexes journals, conference papers, and standards in communications, electronics, computing, and related engineering fields. Use it to confirm the published version, DOI, and publication details, and combine keywords, authors, and years when searching. Some full text requires institutional access through the university library.
arXiv
Open preprint platform · Cornell University
arXiv is an open preprint platform for recent work that may not yet be formally published, and it preserves revision histories. A preprint is not the same as a peer-reviewed paper: check its version and date, see whether it later appeared at a conference or journal, and cite the confirmed published version when possible.
Zotero
Reference manager · Corporation for Digital Scholarship
Zotero stores bibliographic records, organizes PDFs, adds tags and notes, and generates citations while you write. Organize material by project or topic and verify titles, authors, and years after importing. A consistent library established early makes later reading and writing much easier.
General AI assistants
Use them to explain concepts, structure ideas, and review writing, but never treat an answer as a verified fact, citation, or finished submission.
ChatGPT
General AI assistant · OpenAI
OpenAI's general AI assistant can help explain concepts, organize research, analyze code, and improve writing. It is a highly capable all-rounder in the AI landscape, with especially strong agentic and image-generation capabilities. State your background, goal, available material, and constraints instead of asking it to simply finish a task. It can produce incorrect facts or nonexistent citations, so verify important claims against original sources.
Access note: requires a proxy
Claude
General AI assistant · Anthropic
Anthropic's general AI assistant is useful for sustained work with long text, code, and documents, as well as comparing options and revising writing. Claude performs exceptionally well in coding, but its high price and tendency for accounts to be suspended deserve careful consideration before use. Before uploading material, remove unpublished data, personal information, and sensitive group content. Facts, papers, and data still need verification against original sources.
Access note: requires a proxy and accounts may be suspended
Gemini
General AI assistant · Google
Google's general AI assistant supports learning, idea development, coding help, and multimodal understanding such as images. Nano Banana also offers strong image-generation capabilities. Gemini can help break down unfamiliar problems, but it does not replace textbooks, papers, or real experimental results. Recheck the reasoning and sources yourself before submitting work. Its update cadence can feel slow, and users may encounter serious hallucination or quality degradation; it is sometimes jokingly nicknamed "America's Doubao."
Access note: requires a proxy
GLM
Chinese general AI assistant · Zhipu AI
GLM is a Chinese large-language-model family and general AI assistant from Zhipu AI. It is suitable for Chinese-language questions, research organization, writing support, and code explanation. Its coding performance is strong, although its multimodal capabilities are somewhat weaker. It is easy for new students to try, but factual claims, papers, data, and technical conclusions still require verification against original sources.
DeepSeek
Chinese AI assistant and developer models · DeepSeek
DeepSeek is a Chinese large-language-model family and general AI assistant for Chinese-language questions, reasoning, coding help, and study. Most students can begin with the official chat service; use the official API platform only when integrating the models into software, and review its key, billing, and usage documentation first. Important conclusions still need independent verification. DeepSeek is popular in China for its fast responses and strong cost-performance ratio, although its multimodal capabilities remain fairly average.
Kimi
Chinese general AI assistant · Moonshot AI
Kimi is a Chinese AI assistant developed by Moonshot AI with strong all-round capabilities. It stands out in long-document processing, web search, deep research, and agentic work, and is also well suited to reading PDFs, organizing sources, and creating documents, spreadsheets, presentations, and websites. Its natural Chinese-language experience makes it useful for coursework research and literature organization. Basic use includes a free allowance; current auto-renewing monthly plans are priced at RMB 49, 99, 199, and 699, with advanced Agent features, Kimi Code, and long-context use drawing from a shared credit pool. Its weaknesses are a relatively complex product and pricing structure, credits that can be consumed quickly by demanding tasks, and advanced features such as million-token conversations being limited to higher tiers. Generated facts and citations still need verification.
AI engineering tools
These tools may read repositories, modify files, or run commands. Learn the basic workflow first, then use them in a recoverable Git workspace.
Codex
Coding agent · OpenAI
OpenAI's coding agent can work with repository context, terminals, and development tools to understand, change, test, and review software. Use it for clearly defined tasks whose results you can verify. Start with a small project, inspect every diff, and avoid broad changes in an unbacked-up directory.
Access note: may require a proxy in mainland China; availability follows OpenAI's official guidance
Claude Code
Coding agent · Anthropic
Anthropic's coding agent can understand codebases, debug problems, and complete engineering work from terminals, IDEs, and the web. Because it can read files and run commands, confirm the working directory, permissions, and Git status first, then inspect the diff and run the project's own tests.
Access note: may require a proxy in mainland China; also check officially supported regions
CC Switch
Model and configuration switcher · Open-source project
An open-source, cross-platform desktop configuration tool for managing and quickly switching model providers and profiles used by AI coding tools such as Codex and Claude Code. It reduces repeated manual edits to JSON, TOML, and environment variables. Before switching, verify the API source, key permissions, and billing method, and keep a backup of the original configuration.
Trae
AI development environment · ByteDance
ByteDance's AI development environment combines code editing, project questions, completion, and agentic tasks in one graphical workspace. It is approachable for students familiar with VS Code-style workflows, but you still need to understand how the project runs, what changed, and whether tests pass.
ZCode
AI development environment · Z.ai
Z.ai's development environment supports repository tasks, longer-running workflows, and multi-agent collaboration. Confirm the workspace, model connection, and allowed commands before starting. Review large changes in batches and keep recoverable commits.
WorkBuddy
Desktop agent · Tencent
Tencent's general-purpose desktop agent can assist with research, documents, data analysis, and some development work. It is not a dedicated programming IDE and is better suited to cross-application tasks. Before granting access to files or apps, decide whether the task truly needs those permissions and exclude sensitive material.
Research and collaboration habits
Tools change; dependable working habits remain valuable.
Document, back up, and ask well
Reproducible working habits
Keep raw data, code, and outputs separate, and never overwrite the only copy of a dataset. Record environment versions, parameters, dates, and the code commit behind each result. When asking for help, state the goal, expected result, steps, full error, minimal reproduction, and what you have already tried.
Academic integrity and information security
Research integrity and data boundaries
Cite only material you have actually read and verified, never invent sources, and never treat AI-generated text as an experimental conclusion. Do not upload unpublished data, group code, personal information, passwords, or API keys to public AI services, repositories, or chats. Be able to explain every key choice, code change, and conclusion you submit.
Prefer official sites and documentation. Bilibili links are Chinese tutorial searches; check dates, software versions, and feedback before following them.