GithubHelp home page GithubHelp logo

f23-classmaterial's Introduction

Welcome to CIS 241 - System-level Programming and Utilities, Fall 2023

About the Course

Course Overview

This course should help acquaint you with:

  • Navigating and using a Unix-based OS (primarily Linux)
  • Remote access and file transfer for Unix systems
  • Linux utilities and scripting
  • Git/Github
  • Programming with a system-level language (C) and memory management

Helpful Links

Need Help?

If you have questions, please ask! I'm here to help. I welcome students to drop by office hours, either virtual or in-person, to work on their projects and listen to questions others might have (or chat about other CS topics, grad school, etc.)

Course Schedule

This table outlines the entire course schedule. Lecture notes are posted for each topic. Lecture videos, although not direct recordings of this semester's live lectures, cover the same topics and are beneficial if you are sick or do not feel comfortable attending in person. Minilab links will be added prior to the start of class. The dates in this schedule are tentative and subject to change.

Week Date Topics Activities TODOs
01 08/28 - 09/01 introduction
ssh video slides
navigating linux video slides
viewing files video slides
file transfer video slides
Sec03
Fri: minilab0

Sec04
Wed: minilab0
Create a Piazza account
Create a github account (if you do not already have one)
Windows Users Only: Enable the Linux Subsystem by Wed 08/30
02 09/04 - 09/08 No Class 09/04 (Labor Day)
sshkeys video slides
script/history video slides
IO redirection video slides
Sec03
Wed: minilab1
Fri: minilab2
Sec04: Wed: minilab1
-
03 09/11 - 09/15 linux utilities video slides
compression video slides files
diff/piping video slides files
vim video slides files
grep video slides files
git overview video slides
Sec03:
Mon: minilab3
Fri: minilab4
Sec04:
Mon: minilab2
Mon: minilab3
Wed: minilab4
Project 1 Assigned
04 09/18 - 09/22 git intro video slides
git branching video slides
git merging video slides
git remotes video slides
git other video slides
Sec03:
Fri: minilab5

Sec04:
Wed: minilab5
05 09/25 - 09/29 permissions/path video slides
installing from source video slides
processes video slides
Bash scripting:
basics video slides script
arguments video slides script
variables video slides script
conditionals video slides script
Sec03:
Mon: minilab06
Wed: minilab07
Fri: minilab08

Sec04:
Mon: minilab06
Wed: minilab07
Wed:minilab08
Project 1 Due Friday, September 29 @ 11:59pm
06 10/02 - 10/06 Bash Scripting
loops video slides script
arrays video slides script
functions video slides script
regex basics video slides
regex and grep video slides
Optional minilab - bash scripting
Sec04:
Wed: minilab10
Sec03:
Fri: minilab10
Monday, 10/02: test1
test1 review
07 10/09 - 10/13 sed video slides
Files: random files books
gawk basics video slides script
gawk adv video slides script
Sec03:
Mon: minilab11
Fri: minilab12

Sec04:
Mon: minilab11
Wed: minilab12
Project 2 Assigned
08 10/16 - 10/20 C intro video slides
C compiling video slides
C printing video slides script
C basics video slides script
C loops video slides script
Sec03:
Fri: minilab13

Sec04:
Wed: minilab13
09 10/23 - 10/27 No Class 10/23 (Fall Break)
C pointers video slides script
C stack vs heap video slides
C memory allocation video slides script
Project 2 Due Thursday, Oct. 26 @ 11:59pm
10 10/30 - 11/03 C arrays & pointers video slides script
C input video slides script
Sec04: Mon: minilab15
Sec03: Fri: minilab15
Wednesday, 11/01: test2
test2 review
Project 3 Assigned
11 11/06 - 11/10 C functions video slides script
header files video slides files
switch video slides script
2d arrays - stack video slides script
Sec04: Mon: minilab16
Sec03: Fri: minilab16
12 11/13 - 11/17 2d arrays - dynamic allocation video slides script
Recommended Reading Chap 4 Understanding and Using C Pointers by Reese
C structs video slides script
makefiles video slides scripts
Sec03:
Wednesday: minilab17

Sec04:
Wednesday: minilab17
Project 3 due Saturday, Nov. 18 @ 11:59pm
13 11/20 - 11/24 test3
No Class 11/22 & 11/24 (Thanksgiving)
Monday, 11/20: test 3
Project 4 Released
14 11/27 - 12/01 gdb/valgrind video slides
original buggy script
C string funcs video slides script
C mem funcs video slides script
C arguments video slides script
Sec03:
Wed: minilab18
Fri: minilab19

Sec04:
Wed: minilab18
Wed: minilab19
15 12/04 - 12/08 C fileio video slides files
C enums/unions video slides script
C libraries/misc video slides
Non-coding portion of final exam (last class day)
Project 4 due Friday, Dec. 8 @ 11:59pm
16 12/11 - 12/15 Final Exam
Sec03: Wednesday, Dec 13 12:00-1:50pm
Sec04: Wednesday, Dec. 13 4:00-5:50pm
Final Study guide

f23-classmaterial's People

Contributors

eecarrier avatar

Stargazers

Gamo avatar Ethan Wilson avatar  avatar  avatar Sophie Ernst avatar  avatar Jensen Holm avatar

Watchers

 avatar  avatar Huy avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.