GithubHelp home page GithubHelp logo

f22-classmaterial's Introduction

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

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/29 - 09/02 introduction
ssh video slides
navigating linux video slides
viewing files video slides
file transfer video slides
Wednesday: minilab0
Friday: minilab1
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/31
02 09/05 - 09/09 No Class 09/05 (Labor Day)
sshkeys video slides
script/history video slides
IO redirection video slides
linux utilities video slides
Wednesday: minilab2
Friday: minilab3
-
03 09/12 - 09/16 compression video slides files
diff/piping video slides files
vim video slides files
grep video slides files
git overview video slides
Friday: minilab4 Project 1 Assigned
Sign-up for Quiz Time Slot
Quiz Review Guide
04 09/19 - 09/23 git intro video slides
git branching video slides
git merging video slides
git remotes video slides
git other video slides
Wednesday: minilab5 Command Line Quiz (M-W)
05 09/26 - 09/30 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
Monday: minilab6
Wednesday: minilab7
Friday: minilab8
Project 1 Due Thursday 09/29 @ 11:59pm
06 10/03 - 10/07 Bash Scripting
loops video slides script
arrays video slides script
functions video slides script
regex basics video slides
regex and grep video slides
Wendesday: minilab9
Friday: minilab10
07 10/10 - 10/14 sed video slides
Files: random files books
gawk basics video slides script
gawk adv video slides script

Minilab11 Solution Video
Monday: minilab11
Friday: minilab12
Project 2 Assigned
08 10/17 - 10/21 C intro video slides
C compiling video slides
C printing video slides script
C basics video slides script
C loops video slides script
Monday: minilab 13
Friday: minilab14
PL Practice Quiz
09 10/24 - 10/28 No Class 10/24 (Fall Break)
C pointers video slides script
C stack vs heap video slides
C memory allocation video slides script
Project 2 Due Thursday 10/27 @ 11:59pm
10 10/31 - 11/04 C arrays & pointers video slides script
C input video slides script
Wednesday: minilab 15 Midterm (6:00pm Sunday, Oct 30 - 6:00pm Monday, Oct 31)
Midterm Study Guide
Project 3 Assigned (tentative)
11 11/07 - 11/11 C functions video slides script
switch video slides script
header files video slides files
12 11/14 - 11/18 2d arrays - stack video slides script
2d arrays - dynamic allocation video slides script
Recommended Reading Chap 4 Understanding and Using C Pointers by Reese
C structs video slides script
Project 3 due (tentative)
13 11/21 - 11/25 makefiles video slides scripts
No Class 11/23 & 11/25 (Thanksgiving)
Project 4 Released (tentative)
14 11/28 - 12/02 gdb/valgrind video slides
original buggy script
C string funcs video slides script
C mem funcs video slides script
C arguments video slides script
C enums/unions video slides script
15 12/05 - 12/09 C fileio video slides files
C libraries/misc video slides
Project 4 Due (tentative)
16 12/11 - 12/16 FINAL EXAM - WINDOW TBD

f22-classmaterial's People

Contributors

eecarrier 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.