| Main, Syllabus, Office hours | Schedule | Slides | Daily | Homework | Code | Exams |

Go to end of table

Lecture Section
001
Section
002
Topics, Comments
*********
Recitation - C review by Aryan (51 min). Below is a list with the minute and the topic covered
  • 0 basic types, loops, program,
  • 04:50 - recursion,
  • 09:50 - pointers,
  • 14:35 - static arrays,
  • 16:10 - structs
  • 20:25 - 1D dynamic array allocation (malloc(), access, free() )
  • 26:20 - 2D dynamic array allocation (malloc(), access, free() )
  • 28:50 - shell commands
  • 29:50 - input and output program redirection
  • 35:12 - 2D array formatted printing
  • 41:20 - compile a program that consists of multiple files (see in video expected_output.c, printlib.c and printlib.h)
  • 44:00 - using diff to compare two files
  • 46:50 - debugging with gdb, includes recording the debugging session and reversing a step
*********
C Review 2 - Guided Coding Session by Aryan (90 min, develop a program for Conway's Game of Life )
code: gameOfLife.c
This example is very useful. This is how we work with 2D arrays in this class. It helps to understand them well!
********
Git and GitHub by Aryan
1 Tu 01/14 notes,
video
←notes,
video
  • Introductions
  • Syllabus
  • Prof. French's guide on how to set up Visual Studio Code to run C programs - link sent by Jack during meeting. This link was added on the Code page as well under IDEs.
  • C review, coding resources, IDE (Code::Blocks and onlinegdb.com), omega - see Code page under "Coding resources".
  • Course navigation: OneNote (student section, student view in Teams), Daily page (videos, notes), Code
  • Slides: Course overview
  • More coding resources (selected from the Code page)
    • 10 hours C course by Caleb Curry - recommended for students that did not study C, or who need a comprehensive review. It is long, but it is worth it as it covers specific aspects of C that can result in hard to find bugs.
    • COMMON ERRORS IN C - WATCH THIS VIDEO (30 minutes). It shows and explains common and tricky C errors related to pointers, arrays, and strings (starting from error number 7 or so). Use double speed, if you prefer, but DO watch it!
    • leetcode some fun problems (just presented, not solved)
  • Differences:
    • 001 - not done: shown final exam time and date, TAs (not meet, not introduced), not shown office hours on main webpage. Done, in leetcode: set a variable via a pointer, declare and allocate a dynamic array
    • 002 - not done: set a variable via a pointer, declare and allocate a dynamic array (in leetcode)
2 Th 01/16 notes,
video
notes,
video
  • TAs - use @mavs.uta.edu email address
  • Searching in sorted array:
    • linear search
    • binary search: iterative and recursive. Filled in table to simmulate alg behavior.
    • code: search_fcts.c
  • Insertion sort
  • Slides: Examples of Algorithms (pdf , pptx )
  • 3 Tu 1/21 notes,
    video
    notes,
    video
  • OurCS event Feb 14-16, intended to spark interest in research and pursuing graduate degrees. Pre-event tutorials: Introduction to Python on February 8 and Introduction to Data Science on February 9, 2024. Followed by SCRF, Feb 17.
  • finish insertion sort. for loop -> while loop.
  • properties of sorting algorithms (stable, adaptive)
  • selection sort - idea, on paper, not the code, not adaptive, not stable
  • indirect sorting, binary search in indirectly sorted array
  • time complexity motivation
  • Slides: Examples of Algorithms (pdf , pptx )
  • not done: brief overview of several sorting Algorithms
  • section 002 - not done given a simple loop what is the code exacuted in 1 iteration.
  • 4 Th 1/23 notes,
    video
    notes,
    video
  • Math Review and Software Help Session
  • hw1 questions
  • time complexity
  • search_fcts_001,search_fcts_002
  • 02_TC_2024_class_2025_Spring.pdf ( or pptx,)
  • Cheatsheet
  • Friday, 1/24 ********
    Math Review and Software Help Session by Aryan and Jack
    5 Tu 1/28 notes,
    video
    notes,
    video
  • graphing calculator
  • TC slides general
  • _TC_complex_example_Weems_worksheet - not done
  • _TC_complex_example_worksheet - not done
  • tables - solved the first example from this (for 001 in slides, for 002 in Word doc) and one more example.
  • tables_2 - "empty" worksheet for nested for loops
  • 6 Th 1/30 notes,
    video
    notes,
    video
  • How do you want to be notified of suggested leetcode problems? Announcements/page updated notification/other (I do not want to receive any notification => form a group?)
  • continue TC: TC of functions (fct definitis vs fct call), if statements,
  • TC slides general see TC of functions (fct definitis vs fct call) from page 36 on
  • _TC_if_worksheet
  • functions and if
  • functions code
  • 7 Tu 2/04 notes,
    video
    notes,
    video
  • demo - book a time slot for a reserved time. Also ok to show up in office hours, but availability may be an issue.
  • Asymptotic bounds: Θ, O, Ω, o, ω (definition, properties, usage)
  • Asymptotic bounds summary sheet
  • 8 Th 2/06 notes,
    video
    notes,
    video
  • Lecture online only. Students will need to join online in Teams.
  • Slides: Count sort, Bucket sort, Radix sort (the LSD method)
  • Data Structure Visualizations
  • Count sort - count sort worksheet
  • Radix sort
  • 9 Tu 2/11 notes,
    video
    notes,
    video
  • Lecture online only
  • NlgN lower bound for comparison based sorting algorithms
  • bucket sort - Count sort, Bucket sort, Radix sort (the LSD method)
    worksheet
  • Data Structure Visualizations
  • 10 Th 2/13 notes,
    video
    notes,
    video
  • 002 - remaining from last lecture - implementation issues for bucket sort (only mentioned them in last lecture)
  • hw/WQ questions
  • merge sort slides
  • recursive function execution step by step ( pptx )
  • Mergesort notes ( pdf , docx ) prepared by Carl
  • 11 Tu 2/18 notes,
    video
    notes,
    video
  • Programming Competition April 5!
  • Exam 1 next week
    Finish merge sort
  • bottom up merge sort (iterative);
  • insertion sort in base cases for small subarray sections
  • see correspondence between frame stack, code executed and tree drawing;
  • TC analysis using the tree method;
  • SC analysis
  • 12 Th 2/20 notes,
    video
    notes,
    video
    Quicksort:
  • Quicksort
  • Quicksort animation on VisualAlgo
    Recurrences:
  • recurrences (tree method) (pdf , pptx )
  • recurrences worksheet
  • code -> recurrence recurrence -> tree
  • solve TC of recurrences/recursive fcts using the tree method
  • Not done (both sections): Recurrence formulas for Quicksort.
    Fun leetcode problems:
  • 1. Two sum
  • 23. Merge k Sorted Lists
  • 88. Merge Sorted Array
  • 1046. Last Stone Weight
  • 13 Tu 2/25 notes,
    video
    notes,
    video
    Recurrences - solve with tree method (pdf , pptx )
  • recurrence => tree and Table.
  • code <=> recurrence
  • recurrences worksheet
    Recurrences - solve with Master theorem
  • Master Theorem worksheet
  • Cheatsheet
  • Review for exam 1
    video
    notes - After I stopped sharing and recording my chat updated and I saw a couple more questions. I answered them at the end of the notes.
    14 Th 2/26 Exam 1, in class, during lecture time, must be taken with correct section (see MyMav or Canvas announcement)
    15 Th 3/04 notes,
    video
    notes,
    video
  • Stacks (pdf) (pptx)
  • Queues (pdf), (pptx )
  • Linked List (pdf) ( pptx )
  • Data Structure Visualizations
  • Notes from Carl
  • 001 - I did not record or share screen from the begining. Watch the begining of the lecture from 002 to see what you missed.
  • L16 Th 3/6 notes,
    video
    notes,
    video
    HEAPS
  • Trees Theory only
  • Heaps (pdf)
  • worksheet (pdf) ( docx ) (main author: Carl)

  • Check: volume is up, screen is shared, recording is on, (join the meeting from a 2nd device to monitor the chat).
    student FAQ
    free - long answer
    free - short response
    A B C D E response
    Other: Deeply Understanding Logarithms In Time Complexities and Their Role In Computer Science - Video recommended by a student

    Go to top

    To do, or to revisit later