Active Outline

General Information


Course ID (CB01A and CB01B)
CISD044H
Course Title (CB02)
R Programming
Course Credit Status
Credit - Degree Applicable
Effective Term
Fall 2023
Course Description
This course is an introduction to the R programming language and its utility in big data analytics. Topics covered include data objects, data cleansing, merging and sorting, statistical analysis of data, data graphics, and visualization, and working with R-Studio.
Faculty Requirements
Course Family
Not Applicable

Course Justification


This course is part of the Database Development Practitioner Certificate and is CSU transferable. An introduction to the R programming language will be provided, which is a free software environment for statistical computing and graphics and is widely used among statisticians and data miners for developing statistical software and data analysis.

Foothill Equivalency


Does the course have a Foothill equivalent?
No
Foothill Course ID

Course Philosophy


Formerly Statement


Formerly Statement

Course Development Options


Basic Skill Status (CB08)
Course is not a basic skills course.
Grade Options
  • Letter Grade
  • Pass/No Pass
Repeat Limit
0

Transferability & Gen. Ed. Options


Transferability
Transferable to both UC and CSU

Units and Hours


Summary

Minimum Credit Units
4.5
Maximum Credit Units
4.5

Weekly Student Hours

TypeIn ClassOut of Class
Lecture Hours4.08.0
Laboratory Hours1.50.0

Course Student Hours

Course Duration (Weeks)
12.0
Hours per unit divisor
36.0
Course In-Class (Contact) Hours
Lecture
48.0
Laboratory
18.0
Total
66.0
Course Out-of-Class Hours
Lecture
96.0
Laboratory
0.0
NA
0.0
Total
96.0

Prerequisite(s)


Corequisite(s)


Advisory(ies)


ESL D272. and ESL D273., or ESL D472. and ESL D473., or eligibility for EWRT D001A or EWRT D01AH or ESL D005.

CIS D022A or CIS D036A or CIS D040.

Limitation(s) on Enrollment


Entrance Skill(s)


General Course Statement(s)


Methods of Instruction


Lecture and visual aids

Discussion of assigned reading

Discussion and problem solving performed in class

Collaborative learning and small group exercises

Collaborative projects

Assignments


  1. Reading: Required reading from the textbook and class notes
  2. Programs: 7-10 programming homework assignments.
  3. Group Project: Data exploration and visualization of assigned datasets.

Methods of Evaluation


  1. One or two midterm examinations requiring some programming, concepts clarification and exhibiting mastery of R programming constructs presented in the course.
  2. A final examination requiring concepts clarification and exhibiting mastery of data exploration, analysis and visualization principles.
  3. Evaluation of programming assignments and group project, based on correctness, documentation, code quality, and test plan executions.

Essential Student Materials/Essential College Facilities


Essential Student Materials: 
  • None.
Essential College Facilities:
  • Access to a computer lab with RStudio

Examples of Primary Texts and References


AuthorTitlePublisherDate/EditionISBN
Wickham, Hadley and Grolemund, Garrett: R for Data Science: Import, Tidy, Transform, Visualize, and Model Data 1st Edition. O'Reilly. ISBN-13: 978-1491910399, 2017.
Campbell, Matthew: Learn RStudio IDE: Quick, Effective, and Productive Data Science 1st Edition. Apress. ISBN-13: 978-1484245101, 2019.

Examples of Supporting Texts and References


AuthorTitlePublisher
Matloff, Norman: The Art of R Programming: A Tour of Statistical Software Design 1st Edition. William-Pollock. ISBN-13: 978-1593273842, 2011.
Teetor, Paul: R Cookbook: Proven Recipes for Data Analysis, Statistics, and Graphics 1st Edition. O'Reilly. ISBN-13: 978-0596809157, 2011.

Learning Outcomes and Objectives


Course Objectives

  • Describe R basics
  • Exhibit understanding of R data objects.
  • Illustrate basic data transformation concepts.
  • Demonstrate extracting data from various sources.
  • Perform data manipulations to enable analysis.
  • Analyze data to derive patterns and hypotheses.
  • Design data visualizations to demonstrate analyses.

CSLOs

  • Design, implement and debug R programs to process data from various sources for data analysis.

  • Use R-graphics to display and visualize data.

Outline


  1. Describe R basics
    1. What is R?
    2. Introduction to R and RStudio
    3. Installing and using R packages
    4. Working with R workspaces
  2. Exhibit understanding of R data objects.
    1. Vectors
    2. Matrices
    3. Data Frames
    4. Lists
    5. Local data import/export
  3. Illustrate basic data transformation concepts.
    1. Variables
    2. Character and String Manipulation
    3. Dates and Timestamps
    4. Regular Expressions
    5. Control Statements
    6. Functions
  4. Demonstrate extracting data from various sources.
    1. Web data capture
    2. API data sources
    3. Connecting to external data sources
    4. Data in single and distributed environments
  5. Perform data manipulations to enable analysis.
    1. Using 'dplyr'
    2. Reshaping data
    3. Cleansing data
    4. Merging data
    5. Splitting data
    6. Conversion of data
  6. Analyze data to derive patterns and hypotheses.
    1. Data architecture patterns
    2. Correlation clustering
    3. Predictive analysis
    4. Groupwise operations
    5. Data redundancy
    6. Descriptive statistics
    7. Regression
    8. Hypothesis testing
  7. Design data visualizations to demonstrate analyses.
    1. Core concepts of data graphics and visualization
    2. R graphics engines
      1. Base
      2. Grid
      3. Lattice
      4. ggplot2
    3. Customizing graphics with 'ggplot2'
      1. Titles
      2. Coordinate systems
      3. Scales
      4. Themes
      5. Axis labels
      6. Legends

Lab Topics


  1. Data types and data structures
  2. Flow control and looping
  3. Writing and calling functions
  4. Split/apply/combine pattern
  5. Working with character data and regular expressions
  6. Regular expressions and web scraping
  7. Reshaping data and database access
  8. Simulation
  9. Optimization
  10. Data and predictive analysis
Back to Top