Research Experience for Undergraduate Studies

Resources and Training Materials

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?

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 

Machine Learning Resources

Resume and LinkedIn

Research Poster and Paper Composition