Skip to content

Latest commit

 

History

History
660 lines (514 loc) · 25 KB

syllabus.md

File metadata and controls

660 lines (514 loc) · 25 KB

Syllabus Advanced Programming
(Spring 2023)

Description

This course develops students’ ability to write R code to address complex questions that cannot be effectively or efficiently solved with existing R packages. Dealing with such problems often requires using computationally intensive algorithms, requiring sophistication to debug and reduce computing time. Topics covered include writing functions and vectorized programming, debugging and code optimization, parallel computing, C/C++ to R coding, R package creation, command-line programming using Linux, and running jobs on the university’s high-performance computing nodes. Students will learn through seeing (lectures), doing (homework), and teaching (helping one another improve coding). This course is aimed at students with at least moderate proficiency in R programming and/or strong proficiency in another programming language, such as Julia, Python, or C/C++.

Professors

Jonathan Chipman, Ph.D.
Assistant Professor
Division of Biostatistics, Department of Population Health Sciences
Cancer Biostatistics, Huntsman Cancer Institute
Email: jonathan.chipman@hci.utah.edu

George Vega Yon, Ph.D.
Research Assistant Professor
Division of Epidemiology, Department of Internal Medicine
Email: george.vegayon@utah.edu

Locations and Times

Lectures: T/Th 3-4:30 pm
In-person: Room # 3C450, 3rd Floor Williams Building - 295 Chipeta Way
Office hours: TBD

Grading and evaluation

The course will depend heavily on the version control software Git and GitHub for sharing course material and work submissions. We expect students to use dynamic reporting tools such as rmarkdown and quarto. Git, GitHub, and dynamic reporting tools will all be taught during the first sessions of the course.

The course evaluation has four components: class participation, homework assignments, a project midterm (examples here), and a final. Class participation will be measured by lab completion. Students must submit completed labs via GitHub by the Sunday of the instruction week. Homework assignments will consist of programming problems the student will have to solve and submit as rmarkdown or quarto reports via GitHub. Finally, midterm and final evaluations will consist of a project where the students should address a programming or computational problem using the tools and methods instructed in this course. Each component weighs into the final grade as follows:

  • Weekly Labs : 15%.

  • Homework Assignments (5) : 9% each for a total of 45%.

  • Midterm project : 20%.

  • Final project : 20%.

Students will present their lab work at least once during the course. There will be six homework assignments, of which only the top five will be used for the final grade. Besides the written report, students will present their final project during class. As a general principle, we will grade labs, homework assignments, and projects considering the quality of code documentation, code proficiency and correctness (speed, simplicity, etc.,) and written and oral presentation quality. Details regarding specific evaluation aspects of homework assignments, the midterm project, and the final project will be provided in time. Finally, the grading scale is set as follows:

  • A : 93-100

  • A- : 90-92.9

  • B+ : 88-89.9

  • B : 83-87.9

  • B- : 80-82.9

  • Grades in C - D range are similar to grades in the B range.

  • F : 0-59.9

Pre-Requisites

Students must be able to write functions and submit homework solutions in R dynamic reporting tools like rmarkdown or quarto. Before the course, students may ask the professor for an example problem to assess their comfort with R programming.

Contents

Part 1 (Weeks 1-8)

  • Collaboration and reporting tools: Students will learn how to use version control software (Git) and generate dynamic reports using Rmarkdown. (Week 1)

  • Fundamentals of R: We will review data structures, control-flow statements, and large data handling from the software development point of view. (Weeks 2 and 3)

  • Code debugging and profiling: Programmers will also learn to debug code (find errors) and identify bottlenecks to speed up their programs. (Week 4)

  • Incorporating C++ into R: We will learn how to incorporate C++ code into our R programs to deal with computationally intensive tasks using Rcpp or equivalent. (Week 5)

  • Simulation and parallel computing: The program also involves writing simulations and learning to leverage parallel computing for computationally intensive tasks, including embarrassingly parallel computing methods. (Week 6)

  • R package development: Students will learn how to write R packages to efficiently encapsulate their functions and routines to facilitate code sharing and stability. (Weeks 7 and 8)

Midterm (Week 9)

  • You can find some example projects here.

Part 2 (Weeks 10-16)

  • Command-line in Linux: Part of the course involves becoming familiar with the fundamentals of command-line usage. This involves managing data, using ssh, and other basic operations to work on Linux-based systems. (TBD)

  • High-performance computing on Slurm cluster: Students will be taught how to work with the University of Utah’s high-performance computing cluster through the job scheduler Slurm. We will also review alternatives to submit jobs, including the R package slurmR. (TBD)

Readings

Supplementary References

University and Course Policies

Safe space environment

The below policies provide specifics to create a safe and supportive learning environment that includes, yet is not limited to: physical and emotional health and personal identity. Your safety and belonging supersede any content that will be taught.

We will do our best to create this environment and ask that you talk to us if any safety issues need addressing.

COVID-19 Campus Guidelines

You can remain current with the University’s policies on COVID-19 here: https://coronavirus.utah.edu/ As of August 1, there are no requirements for proof of COVID-19 vaccination for students and faculty, and no requirements for masks and face coverings on UU campus. However, we would like each to consider how we can best protect ourselves, our colleagues, and our broader community from COVID-19.

Vaccinations: We strongly encourage everyone to get vaccinated if they have not done so already. This is the most powerful way to protect yourself and your friends/families and keep the virus from mutating. Free vaccinations are available on campus.

Drop/Withdrawal Policies

Students may drop courses within the first two weeks of a semester without penalties.

Students may officially withdraw (W) from a class or all classes after the drop deadline through the midpoint of a course. A “W” grade is recorded on the transcript, and appropriate tuition/fees are assessed. The grade “W” is not used in calculating the student’s GPA.

For deadlines to withdraw from full-term, first, and second-session classes, see the U's Academic Calendar.

Plagiarism & Cheating

It is assumed that all work submitted to your instructor is your work. When you have used the ideas of others, you must indicate that you have done so.

Plagiarism and cheating are serious offenses and may be punished by failure on an individual assignment and/or failure in the course. Academic misconduct, according to the University of Utah Student Code,

“...Includes, but is not limited to, cheating, misrepresenting one’s work, inappropriately collaborating, plagiarism, and fabrication or falsification of information…It also includes facilitating academic misconduct by intentionally helping or attempting to help another to commit an act of academic misconduct.”

For details on plagiarism and other important course conduct issues, see the U's Code of Student Rights and Responsibilities.

Course Material Copyright

The Content is available only for personal, noncommercial educational, and scholarly use. You may not use the Content for any other purpose or distribute post or make the Content available to others unless you obtain any required permission from the copyright holder. Some Content may be provided via streaming or other means that restrict copying; you may not circumvent those restrictions. You may not alter or remove any copyright or proprietary notices included in the Content.

Please see the Code of Student Rights and Responsibilities, Section III.A.5, regarding the use and distribution of class Content and materials.

https://regulations.utah.edu/academics/6-400.php

Section III.A.5. prohibits the following:

Sale or distribution of information representing the work product of a faculty member to a commercial entity for financial gain without the express written permission of the faculty member responsible for the course. (“Work product” means original works of authorship that have been fixed in a tangible medium and any works based upon and derived from the original work of authorship.)

Safety at the U

The University of Utah values the safety of all campus community members. You will receive essential emergency alerts and safety messages regarding campus safety via text message.

For more safety information and to view available training resources, including helpful videos, visit safeu.utah.edu.

To report suspicious activity or to request a courtesy escort, contact:

Campus Police & Department of Public Safety

801-585-COPS (801-585-2677)
Dps.utah.edu
1735 E. S. Campus Dr.
Salt Lake City, UT 84112

Wellness at the U

Your health and wellness are essential to your success as a student. Personal concerns like stress, anxiety, relationship difficulties, depression, or cross-cultural differences can interfere with a student’s ability to succeed and thrive in this course and at the University of Utah.

Please feel welcome to reach out to your instructor or TA's to handle issues regarding your coursework.

For helpful resources to manage your wellness and counseling options, contact:

Center for Student Wellness

801-581-7776
Wellness.utah.edu
2100 Eccles Student Life Center
1836 Student Life Way
Salt Lake City, UT 84112

Women's Resource Center

801-581-8030
Womenscenter.utah.edu
411 Union Building
200 S. Central Campus Dr.
Salt Lake City, UT 84112

Addressing Sexual Misconduct

Title IX makes it clear that violence and harassment based on sex and gender (which includes sexual orientation and gender identity/expression) is a civil rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status, or genetic information.

If you or someone you know has been harassed or assaulted, you are encouraged to report it to university officials:

Title IX Coordinator & Office of Equal Opportunity and Affirmative Action

801-581-8365
Oeo.utah.edu
135 Park Building
201 Presidents' Cir.
Salt Lake City, UT 84112

Office of the Dean of Students

801-581-7066
Deanofstudents.utah.edu
270 Union Building
200 S. Central Campus Dr.
Salt Lake City, UT 84112

To file a police report, contact:

Campus Police & Department of Public Safety

801-585-COPS (801-585-2677)
Dps.utah.edu
1735 E. S. Campus Dr.
Salt Lake City, UT 84112

If you do not feel comfortable reporting to authorities, the U's Victim-Survivor Advocates provide free, confidential, and trauma-informed support services to students, faculty, and staff who have experienced interpersonal violence.

To privately explore options and resources available to you with an advocate, contact:

Center for Student Wellness

801-581-7776
Wellness.utah.edu
328 Student Services Building
201 S. 1460 E.
Salt Lake City, UT 84112

American with Disabilities Act (ADA)

The University of Utah seeks equal access to its programs, services, and activities for people with disabilities.

All written information in this course can be made available in an alternative format with prior notification to the Center for Disability & Access (CDA). CDA will work with you and the instructor to make arrangements for accommodations. Prior notice is appreciated. To read the full accommodations policy for the University of Utah, please see Section Q of the Instruction & Evaluation regulations.

If you will need accommodations in this class, or for more information about what support they provide, contact:

Center for Disability & Access

801-581-5020
Disability.utah.edu
162 Union Building
200 S. Central Campus Dr.
Salt Lake City, UT 84112

Diverse Student Support

Your success at the University of Utah is important to all of us here! If you feel like you need extra support in academics, overcoming personal difficulties, or finding community, the U is here for you.

Student Support Services (TRIO)

TRIO federal programs are targeted to serve and assist low-income individuals, first-generation college students, and individuals with disabilities.

Student Support Services (SSS) is a TRIO program for current or incoming undergraduate university students who are seeking their first bachelor's degree and need academic assistance and other services to be successful at the University of Utah.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

Student Support Services (TRIO)

801-581-7188
Trio.utah.edu
Room 2075
1901 E. S. Campus Dr.
Salt Lake City, UT 84112

American Indian Students

The AIRC works to increase American Indian student visibility and success on campus by advocating for and providing student-centered programs and tools to enhance academic success, cultural events to promote personal well-being, and a supportive “home-away-from-home” space for students to grow and develop leadership skills.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

American Indian Resource Center

801-581-7019
diversity.utah.edu/centers/airc
Fort Douglas Building 622
1925 De Trobriand St.
Salt Lake City, UT 84113

Black Students

Using a pan-African lens, the Black Cultural Center seeks to counteract persistent campus-wide and global anti-blackness. The Black Cultural Center works to holistically enrich, educate, and advocate for students, faculty, and staff through Black centered programming, culturally affirming educational initiatives, and retention strategies.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

Black Cultural Center

801-213-1441
diversity.utah.edu/centers/bcc
Fort Douglas Building 603
95 Fort Douglas Blvd.
Salt Lake City, UT 84113

Students with Children

Our mission is to support and coordinate information, program development, and services that enhance family resources and the availability, affordability, and quality of child care for University students, faculty, and staff.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

Center for Childcare & Family Resources

801-585-5897
Childcare.utah.edu
408 Union Building
200 S. Central Campus Dr.
Salt Lake City, UT 84112

Students with Disabilities

The Center for Disability Services is dedicated to serving students with disabilities by providing the opportunity for success and equal access at the University of Utah. They also strive to create an inclusive, safe, and respectful environment.

For more information about what support they provide and links to other resources, view their website or contact:

Center for Disability Services

801-581-5020

disability.utah.edu

162 Union Building

200 S. Central Campus Dr.

Salt Lake City, UT 84112

Students of Ethnic Descent

The Center for Ethnic Student Affairs offers several programs dedicated to the success of students with varied cultural and ethnic backgrounds. Their mission is to create an inclusive, safe campus community that values the experiences of all students.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

Center for Ethnic Student Affairs

801-581-8151
diversity.utah.edu/centers/cesa/
235 Union Building
200 S. Central Campus Dr.
Salt Lake City, UT 84112

English as a Second/Additional Language (ESL) Students

If you are an English language learner, several resources on campus are available to help you develop your English writing and language skills. Feel free to contact:

Writing Center

801-587-9122
Writingcenter.utah.edu
2701 Marriott Library
295 S 1500 E
Salt Lake City, UT 84112

English for Academic Success (EAS) Program

801-581-8047
linguistics.utah.edu/eas-program
2300 LNCO
255 S. Central Campus Dr.
Salt Lake City, UT 84112

English Language Institute

801-581-4600
continue.utah.edu/eli
540 Arapeen Dr.
Salt Lake City, UT 84108

Undocumented Students

Immigration is a complex phenomenon with a broad impact—those who are directly affected by it, as well as those who are indirectly affected by their relationships with family members, friends, and loved ones. If your immigration status presents obstacles that prevent you from engaging in specific activities or fulfilling specific course criteria, confidential arrangements may be requested from the Dream Center.

Arrangements with the Dream Center will not jeopardize your student status, your financial aid, or any other part of your residence. The Dream Center offers many resources to support undocumented students (with and without DACA) and students from mixed-status families.

For more information about what support they provide and links to other resources, view their website or contact:

Dream Center

801-213-3697
Dream.utah.edu
1120 Annex (Wing B)
1901 E. S. Campus Dr.
Salt Lake City, UT 84112

LGBTQ+ Students

The LGBTQ+ Resource Center acts in accountability with the campus community by identifying the needs of people with a queer range of [a]gender and [a]sexual experiences and responding with university-wide services.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

LGBTQ+ Resource Center

801-587-7973
lgbt.utah.edu
409 Union Building
200 S. Central Campus Dr.
Salt Lake City, UT 84112

Veteran & Military Students

The mission of the Veterans Support Center is to improve and enhance the individual and academic success of veterans, service members, and their family members who attend the university; to help them receive the benefits they earned, and to serve as a liaison between the student veteran community and the university.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

Veterans Support Center

801-587-7722
veteranscenter.utah.edu
418 Union Building
200 S. Central Campus Dr.
Salt Lake City, UT 84112

Women

The Women’s Resource Center (WRC) at the University of Utah serves as the central resource for educational and support services for women. Honoring the complexities of women’s identities, the WRC facilitates choices and changes through programs, counseling, and training grounded in a commitment to advance social justice and equality.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

**Women's Resource Center
**801-581-8030
womenscenter.utah.edu
411 Union Building
200 S. Central Campus Dr.
Salt Lake City, UT 84112

Inclusivity at the U

The Office for Inclusive Excellence is here to engage, support, and advance an environment fostering the values of respect, diversity, equity, inclusivity, and academic excellence for students in our increasingly global campus community. They also handle reports of bias in the classroom, as outlined below:

Bias or hate incidents consist of speech, conduct, or some other form of expression or action that is motivated wholly or in part by prejudice or bias whose impact discriminates, demeans, embarrasses, assigns stereotypes, harasses, or excludes individuals because of their race, color, ethnicity, national origin, language, sex, size, gender identity or expression, sexual orientation, disability, age, or religion.

For more information about what support they provide and links to other resources, or to report a bias incident, view their website or contact:

Office for Inclusive Excellence

801-581-4600
inclusive-excellence.utah.edu
170 Annex (Wing D)
1901 E. S. Campus Dr.
Salt Lake City, UT 84112

Other Student Groups at the U

To learn more about some of the other resource groups available at the U, check out:

getinvolved.utah.edu/

studentsuccess.utah.edu/resources/student-support