Remote Server Connection and File Transferring
1. To connect to a remote server via SSH
(1) Open a Command Prompt
MaxOS: Open a Terminal from Launchpad,
Windows: Open a Command Line by press the shortcut Windows key + R or type "cmd" in the Run window
(2) Type the following command: $ ssh -Y <account_name>@<ip_address/domain_name>
, where account_name is the username that the admin of the remote server created for you, and ip_address/domain_name is the IP address or URL for the remote server.
2. Copy fie(s) from your local computer to a remote server
- $ scp <file_name> <user_name>@<remote_ip>:/home/<user_name>
- $ scp -r <dir_name> <user_name>@<remote_ip>:/home/<user_name>
- -r will copy files and directories recursively
3. Copy file(s) from the remote server to your local machine
- scp <user_name>@<remote_ip>:/home/<user_name>/<file_name> ./
- scp -r <user_name>@<remote_ip>:/home/<user_name>/<dir_path> ./
Research Methods
1. How to find resources for your research topic?
Google: How to use search like a pro: 10 tips and tricks for Google and beyond
CSUN Library Guide for Computer Science (https://libguides.csun.edu/comp/databases)
ACM Digital Library: an online repository for research papers that covers computing and information technology. It includes publications from ACM associated journals, proceedings, books, etc.
IEEE XPlore: a digital library for scientific contents on electrical engineering, computer science, and related areas. There have been many conferences from computer science are affiliated with IEEE.
Google Scholar: this is another website that is used very often by researchers to search for scholarly literatures (including journal and conference papers).
- Conferences and journals ranking
- Conference ranking: http://www.conferenceranks.com/
- Google Scholar Ranking: https://scholar.google.com/citations?view_op=top_venues&hl=en
2. How to read a paper?
The 3-pass approach for reading a research paper:
- 1st pass: get the general idea
- Carefully read the title, abstract, and introduction
- Read the section and subsection headings, but ignore everything else
- Read the conclusions
- Glance over the references, mentally ticking the ones you've already read
2nd pass: grasp the content and summarize the main thrust with supporting evidence
- Look carefully at the figures, diagrams and other illustrations in the paper. Pay special attention to graphs.
- Mark relevant unread references for further reading
- 3rd pass: understand the paper in depth
Source: Keshav, Srinivasan. "How to read a paper." ACM SIGCOMM Computer Communication Review 37, no. 3 (2007): 83-84.
3. Annotated Bibliography
An annotated bibliography is a list of citations to books, articles, and documents, with each citation is followed by a brief descriptive and evaluative paragraph, the annotation. The purpose of writing an annotate bibliography is to inform the reader of the relevance, accuracy, and quality of the sources cited. The process of writing an annotated bibliography includes:
- Locate and record citations to papers, articles, and documents that may contain useful information and ideas on your research topic.
- Cite them using the appropriate style.
- Write a concise annotation that summarizes the central theme and scope of the paper or article.
- (a) evaluate the authority or background of the author,
- (b) comment on the intended audience,
- (c) compare or contrast this work with other paper(s) you have cited, or
- (d) explain how this work illuminates your bibliography topic.
You can create a copy of the IEEE Style Overleaf Annotated Bibliography Template and replace the citations and annotations for your research topic. For how to use Overleaf and Latex, you can find a tutorial here: https://www.overleaf.com/learn/latex/Tutorials.
4. Make a research plan
Technical Training
1. Linux Command
2. C Programming and Bash Script
3. Git/GitHub and Branch Management
4. GPU Programming
5. Web Application Development
6. React Native
Parallel and Distributed Computing
1. Overview
Parallel Computing, also known as parallel processing, speeds up a computational task by dividing it into smaller jobs across multiple processors inside one computer. Distributed computing, on the other hand, uses a distributed system, such as the internet, to increase the available computing power and enable larger, more complex tasks to be executed across multiple machines [1].
2. Why use Parallel Computing?
3. Types of Parallelism
4. Parallel Computers
5. Distributed Computing
6. Cloud Computing
7. Datacenters
References
[1] Parallel vs. Distributed Computing: An Overview. https://blog.purestorage.com/purely-educational/parallel-vs-distributed-computing-an-overview/
Data Science Resources
1. Data Science and Machine Learning
2. Data Processing with NumPy and Pandas
3. Data Visualization - Matplotlib and Seaborn
4. Python Library: Scikit-Learn