Sitemap
A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.
Pages
Posts
Future Blog Post
Published:
This post will show up by default. To disable scheduling of future posts, edit config.yml
and set future: false
.
Blog Post number 4
Published:
This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.
Blog Post number 3
Published:
This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.
Blog Post number 2
Published:
This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.
Blog Post number 1
Published:
This is a sample blog post. Lorem ipsum I can’t remember the rest of lorem ipsum and don’t have an internet connection right now. Testing testing testing this blog post. Blog posts are cool.
portfolio
publications
research
test
Install conda/mamba
talks
Talk 1 on Relevant Topic in Your Field
Published:
This is a description of your talk, which is a markdown files that can be all markdown-ified like any other post. Yay markdown!
Conference Proceeding talk 3 on Relevant Topic in Your Field
Published:
This is a description of your conference proceedings talk, note the different field in type. You can put anything in this field.
teaching
Classwork 1: group syllabus activity
, , 1900
Logistics
- Due: end of class on Wednesday, August 23rd.
- Submission instructions: make sure that your name is listed at the top of your group’s hand out and it is turned in.
Classwork 10
, , 1900
Logistics
- Due: Monday, September 25th AoE.
- Submission instructions: make sure that the required file (
2d.c
) is in your/classwork/week6/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 11
, , 1900
Logistics
- Due: Wednesday, September 27th AoE.
- Submission instructions: make sure that the required file (
sum.c
) is in your/classwork/week6/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 12
, , 1900
Logistics
- Due: Monday, October 2nd AoE.
- Submission instructions: make sure that the required file (
read_file.c
) is in your/classwork/week7/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 13
, , 1900
Logistics
- Due:
Wednesday, October 4thFriday, October 6th AoE. - Submission instructions: make sure that the required file (
pass_by_ref.c
) is in your/classwork/week7/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 14
, , 1900
Logistics
- Due: Monday, October 9th AoE.
- Submission instructions: make sure that the required file (
read.c
) is in your/classwork/week8/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 15
, , 1900
Logistics
- Due: Wednesday, October 11th AoE.
- Submission instructions: make sure that the required file (
tokenize.c
) is in your/classwork/week8/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 16
, , 1900
Logistics
- Due: Monday, October 16th AoE.
- Submission instructions: make sure that the required file (
struct.c
) is in your/classwork/week9/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 17
, , 1900
Logistics
- Due: Wednesday, October 18th AoE.
- Submission instructions: make sure that the required file (
point.c
) is in yourcsci112_fall2023/classwork/week9/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 18
, , 1900
Logistics
- Due: Monday, October 23rd AoE.
- Submission instructions: make sure that the required files (
mor.c
,location.h
, andcoordinates.h
) are in yourcsci112_fall2023/classwork/week10/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 19
, , 1900
Logistics
- Due: Wednesday, October 25th AoE.
- Submission instructions: make sure that the required files (
main.c
,planet.c
,planet.h
, andMakefile
) are in yourcsci112_fall2023/classwork/week10/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 2: Getting started with Linux, vim, and the course server
, , 1900
Logistics
- Due: Friday, August 25th AoE (Saturday 6am Bozeman time).
- Submission instructions: make sure that the required file is in your
csci112_fall2023/classwork/week1/fri/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
- You get 10 points if your file is in the correct place with the correct name and 0 otherwise.
Classwork 20
, , 1900
Logistics
- Due: Monday, October 30th AoE.
- Submission instructions: make sure that the required file (
hi.c
) is in yourcsci112_fall2023/classwork/week11/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 21
, , 1900
Logistics
- Due: Wednesday, November 1st AoE.
- Submission instructions: make sure that the required files are in your
csci112_fall2023/classwork/week11/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 22
, , 1900
Logistics
- Due: Monday, November 6th AoE.
- Submission instructions: make sure that the required file (
main.c
) is in yourcsci112_fall2023/classwork/week12/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 23
, , 1900
Logistics
- Due: Wednesday, November 8th AoE.
- Submission instructions: make sure that the required file (
dynamic.c
) is in yourcsci112_fall2023/classwork/week12/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 24
, , 1900
Logistics
- Due: Monday, November 13th AoE.
- Submission instructions: make sure that the required file (
digit.c
) is in yourcsci112_fall2023/classwork/week13/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 25
, , 1900
Logistics
- Due: Wednesday, November 15th AoE.
- Submission instructions: make sure that the required files are in your
csci112_fall2023/classwork/week13/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 26
, , 1900
Logistics
- Due: Monday, November 27th AoE.
- Submission instructions: make sure that the required file (
realloc.c
) is in yourcsci112_fall2023/classwork/week14/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 27
, , 1900
Logistics
- Due: Wednesday, November 29th AoE.
- Submission instructions: make sure that the required files are in your
csci112_fall2023/classwork/week14/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 28
, , 1900
Logistics
- Due: Monday, December 3rd AoE.
- Submission instructions: make sure that the required file (
practice.c
) is in yourcsci112_fall2023/classwork/week15/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 29
, , 1900
Logistics
- Due: Wednesday, December 6th AoE.
- Submission instructions: make sure that the required files are in your
csci112_fall2023/classwork/week15/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 3: Hello, world!
, , 1900
Logistics
- Due: Monday, August 28th AoE (Tuesday 6am Bozeman time).
- Submission instructions: make sure that the required file (
hello_world.c
) is in yourcsci112_fall2023/classwork/week2/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 4
, , 1900
Logistics
- Due: Wednesday, August 30th AoE.
- If you want to see the results of the autograder so that you can check that you will get full credit: create the directory
csci112_fall2023/classwork/week2/wed
. You don’t need to put anything in it. But that’s the only place that the autograder knows to put yourautograder.txt
file. You can still get full credit even without doing this, but you won’t get the preliminary results. As usual, you can run the autograder using/public/classwork/week2/wed/autograder.sh
. - Submission instructions: make sure that the required directory (
csci112_fall2023
) is in your home directory, that it is a git repository, and that it has a commit with the tagmy_first_tag
. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 5
, , 1900
Logistics
- Due: Wednesday, September 6th AoE.
- Submission instructions: make sure that the required file (
remainder.c
) is in your/classwork/week3/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 6
, , 1900
Logistics
- Due: Monday, September 11th AoE.
- Submission instructions: submit the Linux self-assessment on D2L.
- Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 7
, , 1900
Logistics
- Due: Wednesday, September 13th AoE.
- Submission instructions: make sure that the required file (
grade.c
) is in your/classwork/week4/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 8
, , 1900
Logistics
- Due: Monday, September 18th AoE.
- Submission instructions: make sure that the required file (
get_num.c
) is in your/classwork/week5/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 9
, , 1900
Logistics
- Due: Wednesday, September 20th AoE.
- Submission instructions: make sure that the required file (
min.c
) is in your/classwork/week5/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 2: Hello, World!
, , 1900
Logistics
- Due: Tuesday, May 11th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork2
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Ungraded classwork
, , 1900
Learning outcomes
- Practice vim commands.
Ungraded classwork
, , 1900
Option 1
Work on Lab 1. Remember to put your files in csci112_spring2023/labs/lab1
.
Ungraded classwork
, , 1900
Option 1
Work on Lab 1 or 2.
Ungraded classwork
, , 1900
Work on Lab 2 or 3.
Ungraded classwork
, , 1900
Work on Lab 4.
Ungraded classwork
, , 1900
If you haven’t done the course survey, do that!
Ungraded classwork
, , 1900
Work on Lab 5, or try to split a previous program into header and C files and write a Makefile for it!
Ungraded classwork
, , 1900
Free the memory in your delete_digit
function from Wednesday’s classwork. You can check your work using valgrind
, though note that you’ll need to delete all of the nodes to free all of the memory!
Lab 1
, , 1900
Logistics
- Due: Friday, September 1st AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab1.c
in your~/csci112_fall2023/labs/lab1
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab1
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Lab 10
, , 1900
Logistics
- Due: Friday, November 3rd AoE.
- Submission instructions: ensure that you have the files for this assignment in your
~/csci112_fall2023/labs/lab10
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab10
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Lab 11
, , 1900
Logistics
- Due: Friday, November 17th AoE.
- Submission instructions: ensure that you have the files for this assignment in your
~/csci112_fall2023/labs/lab11
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab11
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Lab 12
, , 1900
Logistics
- Due: Friday, December 1st AoE.
- Submission instructions: ensure that you have the files for this assignment in your
~/csci112_fall2023/labs/lab12
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab12
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Lab 13
, , 1900
Logistics
- Due: Friday, December 8th AoE.
- Submission instructions: ensure that you have the files for this assignment in your
~/csci112_fall2023/labs/lab13
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab13
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Lab 2
, , 1900
Logistics
- Due: Friday, September 8th AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab2.c
in your~/csci112_fall2023/labs/lab2
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab2
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Lab 3
, , 1900
Logistics
- Due: Friday, September 15th AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab3.c
in your~/csci112_fall2023/labs/lab3
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab3
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Lab 4
, , 1900
Logistics
- Due: Friday, September 22nd AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab4.c
in your~/csci112_fall2023/labs/lab4
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab4
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Lab 5
, , 1900
Logistics
- Due: Friday, September 29th AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab5.c
in your~/csci112_fall2023/labs/lab5
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab5
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Lab 6
, , 1900
Logistics
- Due: Friday, October 6th AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab6.c
in your~/csci112_fall2023/labs/lab6
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab6
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Lab 7
, , 1900
Logistics
- Due: Friday, October 13th AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab7.c
in your~/csci112_fall2023/labs/lab7
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab7
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Lab 8
, , 1900
Logistics
- Due: Friday, October 20th AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab8.c
in your~/csci112_fall2023/labs/lab8
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab8
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Lab 9
, , 1900
Logistics
- Due: Friday, October 27th AoE.
- Submission instructions: ensure that you have the eight files for this assignment in your
~/csci112_fall2023/labs/lab9
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab9
. (You should have set up yourgit
repo and practiced tagging a commit in Classwork 4.)
Day 1 activity responses
, , 1900
Additional asterisks (*) after a question indicate that it was asked multiple times.
Git
, , 1900
We will use git to manage lab and program submissions in this course. At minimum, this allows our TAs to quickly access your assignments that you “submit” on the server, and allows you to get some basic practice with an extremely important tool in the software development world. You can also choose to use git more extensively to manage your work in this class.
Course server; intro Linux and vim; classwork submission setup
, , 1900
This page gives a description of many of the tools we will use in this class. We will refer to it multiple times throughout the semester.
Program 1
, , 1900
Logistics
- Due:
Friday, March 24th AoEextended to Wednesday, March 29th AoE. - Submission instructions: ensure that you have the source code you want us to grade in a file called
program1.c
in your~/csci112_spring2023/programs/program1
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged asprogram1
. See the git lecture and classwork 4 for more details. - Note that grading will be done on D2L, so you can see comments and a detailed breakdown of your score there, but you do not need to submit anything there.
Program 2
, , 1900
Logistics
- Due: Monday, May 8th AoE (no late deadline!)
- Submission instructions: ensure that you have the source code you want us to grade in a file called
program2.c
in your~/csci112_spring2023/programs/program2
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged asprogram2
. See the git lecture and classwork 4 for more details. - Note that grading will be done on D2L, so you can see comments and a detailed breakdown of your score there, but you do not need to submit anything there.
Final
, , 1900
On the bubble sheet, please write your full name (as it would appear in D2L). You do not need to fill out any of the other fields (ID, section, etc.). Answer the following questions on the bubble sheet:
Quiz1
, , 1900
On the bubble sheet, please write your full name (as it would appear in D2L). You do not need to fill out any of the other fields (ID, section, etc.). Answer the following questions on the bubble sheet:
Quiz2
, , 1900
On the bubble sheet, please write your full name (as it would appear in D2L). You do not need to fill out any of the other fields (ID, section, etc.). Answer the following questions on the bubble sheet:
Quiz3
, , 1900
On the bubble sheet, please write your full name (as it would appear in D2L). You do not need to fill out any of the other fields (ID, section, etc.). Answer the following questions on the bubble sheet:
Quiz4
, , 1900
On the bubble sheet, please write your full name (as it would appear in D2L). You do not need to fill out any of the other fields (ID, section, etc.). Answer the following questions on the bubble sheet:
Quiz5
, , 1900
On the bubble sheet, please write your full name (as it would appear in D2L). You do not need to fill out any of the other fields (ID, section, etc.). Answer the following questions on the bubble sheet:
Survey 1
, , 1900
Surveys will be on Brightspace and can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
Survey 2
, , 1900
Surveys will be on Brightspace and can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
Survey 1
, , 1900
The mid-course survey is anonymous and will be on D2L under “Surveys”. It can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
CSCI 112: Programming With C
Undergraduate course, Montana State University, Computer Science, 2023
Course schedule
Classwork 1: Getting started with Linux, vim, and the course server
, , 1900
Logistics
- Due: Friday, January 20th AoE (Saturday 6am Bozeman time).
- Submission instructions: make sure that the required file is in your
/classwork/week1/fri/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
- You get 10 points if your output perfectly matches the sample and 0 otherwise.
Classwork 10
, , 1900
Logistics
- Due: Monday, February 27th AoE.
- Submission instructions: make sure that the required file (
sort_ints.c
) is in your/classwork/week7/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 11
, , 1900
Logistics
- Due: Wednesday, March 1st AoE.
- Submission instructions: make sure that the required file (
read_file.c
) is in your/classwork/week7/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 12
, , 1900
Logistics
- Due: Monday, March 6th AoE.
- Submission instructions: make sure that the required file (
sum_and_average.c
) is in your/classwork/week8/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 13
, , 1900
Logistics
- Due: Wednesday, March 8th AoE.
- Submission instructions: make sure that the required file (
tokenize.c
) is in your/classwork/week8/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 14
, , 1900
Logistics
- Due: Monday, March 20th AoE.
- Submission instructions: make sure that the required file (
swap.c
) is in your/classwork/week9/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 15
, , 1900
Logistics
- Due: Wednesday, March 22nd AoE.
- Submission instructions: make sure that the required file (
dates.c
) is in your/classwork/week9/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 16
, , 1900
Logistics
- Due: Monday, March 27th AoE.
- Submission instructions: make sure that the required file (
locations.c
) is in your/classwork/week10/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 17
, , 1900
Logistics
- Due: Wednesday, March 29th AoE.
- Submission instructions: make sure that the required files (
locations.c
,coordinates.h
,location.h
) are in your/classwork/week10/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 18
, , 1900
Logistics
- Due: Monday, April 3rd AoE.
- Submission instructions: make sure that the required files (
lab3.c
,lab3.h
,print.c.
,read.c
,Makefile
) are in your/classwork/week11/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 19
, , 1900
Logistics
- Due: Wednesday, April 5th AoE.
- Submission instructions: make sure that the required file (
hi.c
) is in your/classwork/week11/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 2: Hello, world!
, , 1900
Logistics
- Due: Monday, January 23rd AoE (Tuesday 6am Bozeman time).
- Submission instructions: make sure that the required file (
hello_world.c
) is in your/classwork/week2/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 20
, , 1900
Logistics
- Due: Wednesday, April 19th AoE.
- Submission instructions: make sure that the required file (
dynamic.c
) is in your/classwork/week13/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 21
, , 1900
Logistics
- Due: Monday, April 24th AoE.
- Submission instructions: make sure that the required file (
llist.c
) is in your/classwork/week14/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 22
, , 1900
Logistics
- Due: Wednesday, April 26th AoE.
- Submission instructions: make sure that the required file (
find_and_delete.c
) is in your/classwork/week14/wed/
directory. - Note: this assignment is ungraded.
Classwork 23
, , 1900
Logistics
- Due: Monday, May 1st AoE.
- Submission instructions: make sure that the required file (
flags.c
) is in your/classwork/week15/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 3
, , 1900
Logistics
- Due: Wednesday, January 25th AoE.
- Submission instructions: make sure that the required file (
gotham.c
) is in your/classwork/week2/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 4
, , 1900
Logistics
- Due: Monday, January 30th AoE.
- If you want to see the results of the autograder so that you can check that you will get full credit: create the directory
classwork/week3/mon
. You don’t need to put anything in it. But that’s the only place that the autograder knows to put your file. You can still get full credit even without doing this, but you won’t get the preliminary results. - Submission instructions: make sure that the required directory (
csci112_spring2023
) is in your home directory, that it is a git repository, and that it has a commit with the taglab1
. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 5
, , 1900
Logistics
- Due: Wednesday, February 1st AoE.
- Submission instructions: make sure that the required file (
remainder.c
) is in your/classwork/week3/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 6
, , 1900
Logistics
- Due: Monday, February 6th AoE.
- Submission instructions: make sure that the required file (
grade.c
) is in your/classwork/week4/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 7
, , 1900
Logistics
- Due: Wednesday, February 8th AoE.
- Submission instructions: make sure that the required file (
loops.c
) is in your/classwork/week4/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 8
, , 1900
Logistics
- Due: Monday, February 13th AoE.
- Submission instructions: make sure that the required file (
min.c
) is in your/classwork/week5/mon/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 9
, , 1900
Logistics
- Due: Wednesday, February 15th AoE.
- Submission instructions: make sure that the required file (
2d.c
) is in your/classwork/week5/wed/
directory. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment.
Classwork 2: Hello, World!
, , 1900
Logistics
- Due: Tuesday, May 11th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork2
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Ungraded classwork
, , 1900
Learning outcomes
- Practice vim commands.
Ungraded classwork
, , 1900
Option 1
Work on Lab 1. Remember to put your files in csci112_spring2023/labs/lab1
.
Ungraded classwork
, , 1900
Option 1
Work on Lab 1 or 2.
Ungraded classwork
, , 1900
Work on Lab 2 or 3.
Ungraded classwork
, , 1900
Work on Lab 4.
Ungraded classwork
, , 1900
If you haven’t done the course survey, do that!
Ungraded classwork
, , 1900
Work on Lab 5, or try to split a previous program into header and C files and write a Makefile for it!
Ungraded classwork
, , 1900
Free the memory in your delete_digit
function from Wednesday’s classwork. You can check your work using valgrind
, though note that you’ll need to delete all of the nodes to free all of the memory!
Lab 0 — Bonus
, , 1900
Logistics
- Due: Friday, February 3rd AoE.
- Submission instructions: make a commit with the tag
lab1
in your course repo on the server. - Deadline reminder: for this assignment, no bonus points will be awarded after the deadline.
Lab 1
, , 1900
Logistics
- Due: Friday, February 10th AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab1.c
in your~/csci112_spring2023/labs/lab1
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab1
. See the git lecture and classwork 4 for more details. - Note that grading will be done on D2L, so you can see comments and and detailed breakdown of your score there, but you do not need to submit anything there.
- Deadline reminder: per the late assignment policy, if you submit after the deadline but within 24 hours of it (i.e., by 6am on Sunday, February 12th) you will receive a 25% penalty. If you submit within 48 hours you will receive a 50% penalty. After that, no submissions will be accepted.
Lab 2
, , 1900
Logistics
- Due: Friday, February 17th AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab2.c
in your~/csci112_spring2023/labs/lab2
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab2
. See the git lecture and classwork 4 for more details. - Note that grading will be done on D2L, so you can see comments and and detailed breakdown of your score there, but you do not need to submit anything there.
- Deadline reminder: per the late assignment policy, if you submit after the deadline but within 24 hours of it you will receive a 25% penalty. If you submit within 48 hours you will receive a 50% penalty. After that, no submissions will be accepted.
Lab 3
, , 1900
Logistics
- Due: Friday, February 24th AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab3.c
in your~/csci112_spring2023/labs/lab3
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab3
. See the git lecture and classwork 4 for more details. - Note that grading will be done on D2L, so you can see comments and a detailed breakdown of your score there, but you do not need to submit anything there.
- Deadline reminder: per the late assignment policy, if you submit after the deadline but within 24 hours of it you will receive a 25% penalty. If you submit within 48 hours you will receive a 50% penalty. After that, no submissions will be accepted.
Lab 4
, , 1900
Logistics
- Due: Friday, March 10th AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab4.c
in your~/csci112_spring2023/labs/lab4
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab4
. See the git lecture and classwork 4 for more details. - Note that grading will be done on D2L, so you can see comments and a detailed breakdown of your score there, but you do not need to submit anything there.
- Deadline reminder: per the late assignment policy, if you submit after the deadline but within 24 hours of it you will receive a 25% penalty. If you submit within 48 hours you will receive a 50% penalty. After that, no submissions will be accepted.
Lab 5
, , 1900
Logistics
- Due: Friday, March 31st AoE.
- Submission instructions: ensure that you have the source code you want us to grade in a file called
lab5.c
in your~/csci112_spring2023/labs/lab5
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab5
. See the git lecture and classwork 4 for more details. - Note that grading will be done on D2L, so you can see comments and a detailed breakdown of your score there, but you do not need to submit anything there.
- Deadline reminder: per the late assignment policy, if you submit after the deadline but within 24 hours of it you will receive a 25% penalty. If you submit within 48 hours you will receive a 50% penalty. After that, no submissions will be accepted.
Lab 6
, , 1900
Logistics
- Due: Friday, April 28th AoE.
- Submission instructions: ensure that you have the source code you want us to grade in your
~/csci112_spring2023/labs/lab6
directory, and that the snapshot (commit) of your repository containing the version of that directory you want us to grade has been committed and tagged aslab6
. See the git lecture and classwork 4 for more details. - Note that grading will be done on D2L, so you can see comments and a detailed breakdown of your score there, but you do not need to submit anything there.
- Deadline reminder: per the late assignment policy, if you submit after the deadline but within 24 hours of it you will receive a 25% penalty. If you submit within 48 hours you will receive a 50% penalty. After that, no submissions will be accepted.
Lab 7
, , 1900
Logistics
- Due: Monday, May 1st AoE.
- Submission instructions: ensure that you have the source code you want us to grade in your
~/csci112_spring2023/labs/lab7
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged aslab7
. See the git lecture and classwork 4 for more details. - Note that grading will be done on D2L, so you can see comments and a detailed breakdown of your score there, but you do not need to submit anything there.
- Deadline reminder: for this assignment, no lates will be accepted.
Course server; intro Linux and vim; classwork submission setup
, , 1900
Course server
Git
, , 1900
We will use git to manage lab and program submissions in this course. At minimum, this allows our TAs to quickly access your assignments that you “submit” on the server, and allows you to get some basic practice with an extremely important tool in the software development world. You can also choose to use git more extensively to manage your work in this class.
Program 1
, , 1900
Logistics
- Due:
Friday, March 24th AoEextended to Wednesday, March 29th AoE. - Submission instructions: ensure that you have the source code you want us to grade in a file called
program1.c
in your~/csci112_spring2023/programs/program1
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged asprogram1
. See the git lecture and classwork 4 for more details. - Note that grading will be done on D2L, so you can see comments and a detailed breakdown of your score there, but you do not need to submit anything there.
Program 2
, , 1900
Logistics
- Due: Monday, May 8th AoE (no late deadline!)
- Submission instructions: ensure that you have the source code you want us to grade in a file called
program2.c
in your~/csci112_spring2023/programs/program2
directory, and that the snapshot (commit) of your repository containing the version of that file you want us to grade has been committed and tagged asprogram2
. See the git lecture and classwork 4 for more details. - Note that grading will be done on D2L, so you can see comments and a detailed breakdown of your score there, but you do not need to submit anything there.
Quiz 1
, , 1900
Quizzes will be on Brightspace and can be done on your own time. The first quiz will cover everything we have learned in the course through the lecture on Friday, February 17th, including Linux, vim, and git basics.
Quiz 2
, , 1900
Quizzes will be on Brightspace and can be done on your own time. The second quiz will cover everything we have learned in the course through the lecture on Wednesday, April 5th.
Quiz 3
, , 1900
Quizzes will be on Brightspace and can be done on your own time. The third and final quiz will focus on the material we covered since the last quiz (dynamic memory allocation, dynamic data structures, and bit masking), but about one third of the questions will be on material from earlier in the course.
Survey 1
, , 1900
Surveys will be on Brightspace and can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
Survey 2
, , 1900
Surveys will be on Brightspace and can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
Survey 1
, , 1900
Surveys are anonymous and will be on D2L. They can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
Classwork 1: Getting started with Linux, vim, and git
, , 1900
Logistics
- Due: Monday, May 10th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork1
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 10
, , 1900
Logistics
- Due: Wednesday, May 26th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork10
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 11
, , 1900
Logistics
- Due: Tuesday, June 1st no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork11
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 12
, , 1900
Logistics
- Due: Wednesday, June 2nd no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork12
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 13
, , 1900
Logistics
- Due: Thursday, June 3rd no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork13
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 14
, , 1900
Nothing due (everyone gets the point!) but please check D2L to make sure that all of your scores are correct.
Classwork 2
, , 1900
Logistics
- Due: Tuesday, May 11th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork2
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 3
, , 1900
Logistics
- Due: Wednesday, May 12th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork3
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 4
, , 1900
Logistics
- Due: Thursday, May 13th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork4
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 5
, , 1900
Logistics
- Due: Monday, May 17th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork5
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 6
, , 1900
Logistics
- Due: Tuesday, May 18th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork6
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 7
, , 1900
Logistics
- Due: Wednesday, May 19th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork7
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 8
, , 1900
Logistics
- Due: Monday, May 24th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork8
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 9
, , 1900
Logistics
- Due: Tuesday, May 25th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork9
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Classwork 2: Hello, World!
, , 1900
Logistics
- Due: Tuesday, May 11th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork2
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Lab 1
, , 1900
Logistics
- Due: Wednesday, May 12th no later than 11:59pm.
- Submission instructions: push a commit with the tag
lab1
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Lab 2
, , 1900
Logistics
- Due: Sunday, May 16th no later than 11:59pm.
- Submission instructions: push a commit with the tag
lab2
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Lab 3
, , 1900
Logistics
- Due: Tuesday, May 18th no later than 11:59pm.
- Submission instructions: push a commit with the tag
lab3
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Lab 4
, , 1900
Logistics
- Due: Thursday, May 27th no later than 11:59pm.
- Submission instructions: push a commit with the tag
lab4
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Lab 5
, , 1900
Logistics
- Due: Saturday, June 5th no later than 11:59pm.
- Submission instructions: push a commit with the tag
lab5
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Lecture 1: Getting started with Linux, vim, and git
, , 1900
Today, we are covering the course syllabus and the basic tools we need to complete the work for the course: Linux, vim, and git. These aren’t hard, but they are not intuitive and it will take practice before you get comfortable. Take the time now to go through the tutorials that I point to and you’ll set yourself up for success throughout the course.
Lecture 10: Reading from files; strings
, , 1900
Reading from files
Lecture 11: User defined types and structs
, , 1900
User-defined types
Lecture 12: Examples
, , 1900
Examples of developing C programs using pointers, strings, and structs
Lecture 13: Dynamic memory allocation
, , 1900
Dynamic memory allocation
Review of type casting video
Lecture 14: Recursion
, , 1900
Recursion
Intro to recursion video
Lecture 15: Intro to C++
, , 1900
Hello, world!
Lecture 16: More intro to C++
, , 1900
Computation in C++
Lecture 2: C basics
, , 1900
Today, we start to learn about the C programming language.
Lecture 3: C basics pt. 2
, , 1900
Today, we continue learning some basic C programming concepts.
Lecture 4: Loops
, , 1900
Optional reading: chapter 5.
Lecture 5: Input/Output File Redirection and Arrays
, , 1900
Input/output file redirection
Lecture 6: Arrays continued
, , 1900
Arrays continued
Lecture 7: Arrays continued, again, and makefiles
, , 1900
Sorting arrays
Lecture 8: Getting ready for program 1: unsigned chars and command line inputs
, , 1900
Reading command line inputs
Lecture 9: Pointers
, , 1900
Intro to pointers
Declaring and using pointers video
Program 1
, , 1900
Logistics
- Due: Monday, May 24th no later than 11:59pm.
- Submission instructions: push a commit with the tag
program1
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Program 2
, , 1900
Logistics
- Due: Tuesday, June 1st no later than 11:59pm.
- Submission instructions: push a commit with the tag
program2
to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Quiz 1
, , 1900
Quizzes will be on Brightspace and can be done on your own time. The first quiz will cover everything we discussed through the first week.
Quiz 2
, , 1900
Quizzes will be on Brightspace and can be done on your own time. They will be available the day before the quiz (Thursday). The second quiz will cover everything we discussed through the second week, including things covered in the first week. A practice quiz is available.
Quiz 3
, , 1900
Quizzes will be on Brightspace and can be done on your own time. They will be available the day before the quiz (Thursday). The third quiz will cover everything we discussed through the third week, including things covered in the first two weeks. A practice quiz is available.
Lab 4: Lists
Lab, May 29, 2019
Logistics
- Due: Friday, May 29th no later than 5pm.
- Submission instructions: upload your solution, entitled FirstName-LastName-Lab4.py to the BrightSpace Lab 4 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Lab 6: Dictionaries
Lab, June 5, 2019
Logistics
- Due: Friday, June 5th no later than 5pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab6.py to the BrightSpace Lab 6 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Program 3
Programming Assignment, Due June 9, 2019
Logistics
- Due date: Tuesday, June 9th no later than 5 p.m.
- Submission instructions: upload your solution, entitled YourFirstName-YourLastName-Program3.py to the BrightSpace Program 3 Dropbox.
- Deadline Reminder: Once the submission deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Lab 1: Getting Started
Lab, June 10, 2019
Logistics
- Due: Monday, June 10th no later than 5pm.
- Partner information: complete this assignment individually.
- Submission instructions: upload two files: (1) a Python file, entitled YourFirstName-YourLastName-Lab1.py, and (2) a .txt file, entitled YourFirstName-YourLastName-Intro.txt, to the BrightSpace Lab 1 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Data Types, Turtle Drawing, and Functions
Lecture, June 10, 2019
Welcome to the first day of class!
CSCI 127: The Joy & Beauty of Data
Undergraduate course, Montana State University, Computer Science, 2019
Catalog description: Provides a gentle introduction to the exciting world of big data and data science. Students expand their ability to solve problems with Python by learning to deploy lists, files, dictionaries and object-oriented programming. Data science libraries are introduced that enable data to be manipulated and displayed.
Lab 7: Object Oriented Programming
Lab, June 10, 2019
Logistics
- Due: Wednesday, June 10th no later than 5pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab7.py to the BrightSpace Lab 7 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Lab 2: Functions and Selection Statements
Lab, June 11, 2019
Logistics
- Due: Tuesday, June 11th no later than 5pm.
- Submission instructions: upload your solution, entitled FirstName-LastName-Lab2.py to the BrightSpace Lab 2 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Functions, Selection, and Iteration
Lecture, June 11, 2019
Reading
Functions, Selection, and Iteration
Lecture, June 11, 2019
Reading
Program 1
Programming Assignment, Due June 12, 2019
Logistics
- Due date: Wednesday, June 12th no later than 11:59 p.m.
- Submission instructions: upload your solution, entitled YourFirstName-YourLastName-Program1.py to the BrightSpace Program 1 Dropbox.
- Deadline Reminder: Once the submission deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Modules and Strings
Lecture, June 12, 2019
Reading
Modules and Strings
Lecture, June 12, 2019
Reading
Lab 3: Strings, Iteration, and Recursion
Lab, June 13, 2019
Logistics
- Due: Thursday, June 13th no later than 5pm.
- Submission instructions: upload your solution, entitled FirstName-LastName-Lab3.py to the BrightSpace Lab 3 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Program 4
Programming Assignment, Due June 15, 2019
Logistics
- Due date: Monday, June 15th no later than 11:59 p.m.
- Submission instructions: upload your solution, entitled YourFirstName-YourLastName-Program4.py to the BrightSpace Program 4 Dropbox.
- Deadline Reminder: Once the submission deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Program 2
Programming Assignment, Due June 17, 2019
Logistics
- Due date: Monday, June 17th no later than 11:59 p.m.
- Submission instructions: upload your solution, entitled YourFirstName-YourLastName-Program2.py to the BrightSpace Program 2 Dropbox.
- Deadline Reminder: Once the submission deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Lab 4: Lists
Lab, June 17, 2019
Logistics
- Due: Monday, June 17th no later than 5pm.
- Submission instructions: have one partner upload your solution, entitled FirstName-LastName-Lab4.py to the BrightSpace Lab 4 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Practicum 1 Review
Lecture, June 18, 2019
Practicum Info
The practicum will take place on Tuesday, 6/18 from 2-3pm in Barnard 126, our regular classroom. It will cover the Python topics that we have learned so far: data types, turtle graphics, modules, functions, selection statements, iterative statements, strings, recursion and lists.
Lab 9: Numpy Arrays
Lab, June 18, 2019
Logistics
- Due: Thursday, June 18th no later than 11:59pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab9.py to the BrightSpace Lab 9 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Lab 5: Files
Lab, June 19, 2019
Logistics
- Due: Wednesday, June 19th no later than 5pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab5.py to the BrightSpace Lab 5 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Lab 10: matplotlib
Lab, June 19, 2019
Logistics
- Due: Friday, June 19th no later than 11:59pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab10.py to the BrightSpace Lab 10 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Lab 6: Dictionaries
Lab, June 20, 2019
Logistics
- Due: Thursday, June 20th no later than 5pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab6.py to the BrightSpace Lab 6 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Dictionaries
Lecture, June 20, 2019
Reading
Chapter 12.
Dictionaries
Lecture, June 20, 2019
Reading
Chapter 12.
Program 3
Programming Assignment, Due June 22, 2019
Logistics
- Due date: Saturday, June 22nd no later than 11:59 p.m.
- Submission instructions: upload your solution, entitled YourFirstName-YourLastName-Program3.py to the BrightSpace Program 3 Dropbox.
- Deadline Reminder: Once the submission deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Lab 7: Object Oriented Programming
Lab, June 24, 2019
Logistics
- Due: Monday, June 24th no later than 5pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab7.py to the BrightSpace Lab 7 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Object Oriented Basics
Lecture, June 24, 2019
Reading
Chapter 16.
Object Oriented Basics
Lecture, June 24, 2019
Reading
Chapter 16.
Lab 8: Object Oriented Programming
Lab, June 25, 2019
Logistics
- Due: Tuesday, June 25th no later than 5pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab8.py to the BrightSpace Lab 8 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Object Oriented Programming
Lecture, June 25, 2019
Reading
Chapter 17.
Object Oriented Programming
Lecture, June 25, 2019
Reading
Chapter 17.
Lab 9: Numpy Arrays
Lab, June 26, 2019
Logistics
- Due: Wednesday, June 26th no later than 5pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab9.py to the BrightSpace Lab 9 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Numpy Arrays
Lecture, June 26, 2019
Reading
Detailed Numpy documentation can be found here. Focus on sub-section What is Numpy? and the section Quickstart tutorial.
Numpy Arrays
Lecture, June 26, 2019
Reading
Detailed Numpy documentation can be found here. Focus on sub-section What is Numpy? and the section Quickstart tutorial.
Program 4
Programming Assignment, Due June 27, 2019
Logistics
- Due date: Thursday, June 27nd no later than 11:59 p.m.
- Submission instructions: upload your solution, entitled YourFirstName-YourLastName-Program4.py to the BrightSpace Program 4 Dropbox.
- Deadline Reminder: Once the submission deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Practicum 2 Review
Lecture, June 27, 2019
Practicum Info
The practicum will take place on Thursday, 6/27 from 2pm to 3pm in BH 254, the computer lab. It will cover the Python topics that we have learned so far: data types, turtle graphics, modules, functions, selection statements, iterative statements, strings, recursion, lists, files, dictionaries, and object oriented programming, with a focus on topics we learned since the last Practicum (files, dictionaries, and object oriented programming).
Practicum 2 Review
Lecture, June 27, 2019
Practicum Info
The practicum will take place on Thursday, 6/27 from 2pm to 3pm in BH 254, the computer lab. It will cover the Python topics that we have learned so far: data types, turtle graphics, modules, functions, selection statements, iterative statements, strings, recursion, lists, files, dictionaries, and object oriented programming, with a focus on topics we learned since the last Practicum (files, dictionaries, and object oriented programming).
Program 5
Programming Assignment, Due July 1, 2019
Logistics
- Due date: Monday, July 1st no later than 11:59 p.m.
- Submission instructions: upload your solution, entitled YourFirstName-YourLastName-Program5.py to the BrightSpace Program 5 Dropbox.
- Deadline Reminder: Once the submission deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Lab 10: matplotlib
Lab, July 1, 2019
Logistics
- Due: Monday, July 1 no later than 5pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab10.py to the BrightSpace Lab 10 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
matplotlib
Lecture, July 1, 2019
Reading
Read this tutorial up to but not including the section called “Working with text.”
matplotlib
Lecture, July 1, 2019
Reading
Read this tutorial up to but not including the section called “Working with text.”
Lab 11: pandas
Lab, July 2, 2019
Logistics
- Due: Tuesday, July 2 no later than 5pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab11.py to the BrightSpace Lab 11 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Machine Learning with sklearn
Lecture, July 3, 2019
Reading
Browse this tutorial.
Machine Learning with sklearn
Lecture, July 3, 2019
Reading
Browse this tutorial.
Program 6
Programming Assignment, Due July 5, 2019
Logistics
- Due date: Friday, July 5th no later than 11:59 p.m.
- Submission instructions: upload your solution, entitled YourFirstName-YourLastName-Program6.py to the BrightSpace Program 6 Dropbox.
- Deadline Reminder: Once the submission deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Practicum 3 Review
Lecture, July 5, 2019
Practicum Info
You can either take the Practicum on Wednesday, July 3rd from 2-4pm in BH 126, or on Friday, July 5th from 2-4pm in BH 126. It will cover the Python topics that we have learned so far: data types, turtle graphics, modules, functions, selection statements, iterative statements, strings, recursion, lists, files, dictionaries, and object oriented programming, numpy, matplotlib, and pandas, with a focus on topics we learned since the last Practicum. You can expect about a quarter of the questions to cover material from the first practicum, about a quarter to cover material from the second practicum, and about half to cover material since the second practicum.
Practicum 3 Review
Lecture, July 5, 2019
Practicum Info
You can either take the Practicum on Wednesday, July 3rd from 2-4pm in BH 126, or on Friday, July 5th from 2-4pm in BH 126. It will cover the Python topics that we have learned so far: data types, turtle graphics, modules, functions, selection statements, iterative statements, strings, recursion, lists, files, dictionaries, and object oriented programming, numpy, matplotlib, and pandas, with a focus on topics we learned since the last Practicum. You can expect about a quarter of the questions to cover material from the first practicum, about a quarter to cover material from the second practicum, and about half to cover material since the second practicum.
CSCI 127: The Joy & Beauty of Data
Undergraduate course, Montana State University, Computer Science, 2020
Catalog description: Provides a gentle introduction to the exciting world of big data and data science. Students expand their ability to solve problems with Python by learning to deploy lists, files, dictionaries and object-oriented programming. Data science libraries are introduced that enable data to be manipulated and displayed.
Lab 0: Syllabus Scavenger Hunt
Lab, May 18, 2020
Logistics
- Due: Monday, May 18th no later than 5pm.
- Partner information: complete this assignment individually.
- Submission instructions: upload a .txt file entitled YourFirstName-YourLastName-Lab0.txt to the BrightSpace Lab 0 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
General Introduction
Reading, May 18, 2020
Logistics
- Due: Tuesday, May 18th no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the 13 subsections of Chapter 1. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Simple Python Data, Turtle Graphics, and Iteration
Lecture, May 19, 2020
Reading
Simple Python Data, Turtle Graphics, and Iteration
Reading, May 19, 2020
Logistics
- Due: Tuesday, May 19th no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapters 2 and 4. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Lab 1: Getting Started
Lab, May 20, 2020
Logistics
- Due: Wednesday, May 20th no later than 5pm.
- Partner information: complete this assignment individually.
- Submission instructions: upload a Python file entitled YourFirstName-YourLastName-Lab1.py to the BrightSpace Lab 1 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Functions
Reading, May 20, 2020
Logistics
- Due: Tuesday, May 20th no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapter 6. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Selection
Reading, May 21, 2020
Logistics
- Due: Tuesday, May 21st no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapter 7. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Lab 2: Functions and Selection Statements
Lab, May 22, 2020
Logistics
- Due: Friday, May 22nd no later than 5pm.
- Submission instructions: upload your solution, entitled FirstName-LastName-Lab2.py to the BrightSpace Lab 2 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Iteration Revisited
Reading, May 22, 2020
Logistics
- Due: Tuesday, May 22nd no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapter 8. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Program 1
Programming Assignment, Due May 26, 2020
Logistics
- Due date: Tuesday, May 26th no later than 5 p.m.
- Submission instructions: upload your solution, entitled YourFirstName-YourLastName-Program1.py to the BrightSpace Program 1 Dropbox.
- Deadline Reminder: Once the submission deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Modules, Strings
Reading, May 27, 2020
Logistics
- Due: Wednesday, May 27th no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapters 5 and 9. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Lab 3: Strings, Iteration, and Recursion
Lab, May 28, 2020
Logistics
- Due: Thursday, May 28th no later than 5pm.
- Submission instructions: upload your solution, entitled FirstName-LastName-Lab3.py to the BrightSpace Lab 3 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Recursion
Reading, May 28, 2020
Logistics
- Due: Thursday, May 28th no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapter 16. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Lists
Reading, May 29, 2020
Logistics
- Due: Friday, May 29th no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapter 10. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Program 2
Programming Assignment, Due June 1, 2020
Logistics
- Due date: Monday, June 1st no later than 11:59 p.m.
- Submission instructions: upload your solution, entitled YourFirstName-YourLastName-Program2.py to the BrightSpace Program 2 Dropbox.
- Deadline Reminder: Once the submission deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Quiz 1
Quiz, June 3, 2020
Quiz Info
Quiz 1 will take place on Wednesday, 6/3 via D2L. You can take the quiz any time between 12am and 11:59 pm Mountain Time on 6/3. You will have one hour to complete the short answer and multiple choice portion of the quiz once you start it. You can turn in the coding question as a .py file to the D2L dropbox until 11:59pm Mountain Time. It will cover the Python topics that we have learned so far: data types, turtle graphics, modules, functions, selection statements, iterative statements, strings, recursion and lists.
Lab 5: Files
Lab, June 4, 2020
Logistics
- Due: Thursday, June 4th no later than 5pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab5.py to the BrightSpace Lab 5 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Files
Reading, June 4, 2020
Logistics
- Due: Thursday, June 4th no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapter 11. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Files
Reading, June 4, 2020
Logistics
- Due: Thursday, June 4th no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapter 11. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Dictionaries
Reading, June 5, 2020
Logistics
- Due: Friday, June 5th no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapter 12. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Object Oriented Programming Basics
Reading, June 10, 2020
Logistics
- Due: Wednesday, June 10th no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapter 17. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Object Oriented Programming
Reading, June 11, 2020
Logistics
- Due: Thursday, June 11th no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapter 18. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Lab 8: Object Oriented Programming
Lab, June 12, 2020
Logistics
- Due: Friday, June 12th no later than 5pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab8.py to the BrightSpace Lab 8 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Inheritance
Reading, June 12, 2020
Logistics
- Due: Friday, June 12th no later than 5pm.
- Submission instructions: complete the assigned number of activities in each of the assigned subsections of Chapter 19. You do not need to submit anything to Brightspace.
- Deadline reminder: once this deadline passes, Runestone Interactive will no longer allow you to collect points for completing the activities.
Quiz 2
Quiz, June 17, 2020
Quiz Info
Quiz 2 will take place on Tuesday and Wednesday, 6/16 and 6/17, via D2L. You can take the quiz any time between 12am on Tuesday, 6/16 and 11:59 pm Mountain Time on Wednesday, 6/17. You will have one hour to complete the short answer and multiple choice portion of the quiz once you start it. You can turn in the coding question as a .py file to the D2L dropbox until 11:59pm Mountain Time on 6/17. The quiz will cover the Python topics that we have learned so far: data types, turtle graphics, modules, functions, selection statements, iterative statements, strings, recursion and lists, files, dictionaries, and object oriented programming, with a focus on material that we have learned since the last quiz (files, dictionaries, and object oriented programming.)
Numpy Arrays and Python Notebooks
Reading, June 18, 2020
Logistics
- Submission instructions: you do not need to submit this reading.
Numpy Arrays and Python Notebooks
Reading, June 19, 2020
Logistics
- Submission instructions: you do not need to submit this reading.
Pandas 1
Reading, June 22, 2020
Logistics
- Submission instructions: you do not need to submit this reading.
Lab 11: pandas
Lab, June 23, 2020
Logistics
- Due: Tuesday, June 23rd no later than 11:59pm.
- Submission instructions: upload solution, entitled FirstName-LastNameLab11.py to the BrightSpace Lab 11 Dropbox.
- Deadline reminder: once this deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Pandas 2
Reading, June 23, 2020
Logistics
- Submission instructions: you do not need to submit this reading.
Lab 12: Course Evaluation
Lab, June 24, 2020
Logistics
- Due: Wednesday, June 24th no later than 11:59pm.
- Submission instructions: message Andrew on Slack that you have completed the course evaluation.
Optional material: scikit-learn
Reading, June 24, 2020
Logistics
- Submission instructions: you do not need to submit this reading.
Program 5
Programming Assignment, Due June 25, 2020
Logistics
- Due date: Thursday, June 25th no later than 11:59 p.m.
- Submission instructions: upload your solution, entitled YourFirstName-YourLastName-Program5.py to the BrightSpace Program 5 Dropbox.
- Deadline Reminder: Once the submission deadline passes, BrightSpace will no longer accept your Python submission and you will no longer be able to earn credit. Thus, if you are not able to fully complete the assignment, submit whatever you have before the deadline so that partial credit can be earned.
Quiz 3
Quiz, June 26, 2020
Quiz Info
Quiz 3 will take place on Thursday and Friday, 6/25 and 6/26, via D2L. You can take the quiz any time between 12am on Thursday, 6/25 and 11:59 pm Mountain Time on Friday, 6/26. You will have one hour to complete the short answer and multiple choice portion of the quiz once you start it. You can turn in the coding question as a .py file to the D2L dropbox until 11:59pm Mountain Time on 6/26. The quiz will cover the Python topics and data science topics that we have learned so far: data types, turtle graphics, modules, functions, selection statements, iterative statements, strings, recursion and lists, files, dictionaries, object oriented programming, Numpy, Matploblib, and Pandas, with a focus on material that we have learned since the last quiz (Numpy, Matploblib, and Pandas). If you have been able to complete the lab and programming assignments, you should be able to complete the quiz.
CSCI 112: Programming With C
Undergraduate course, Montana State University, Computer Science, 2021
Catalog description: C Programming knowledge. Introduces imperative programming and the C standard library. Course covers pointers, memory management and structures. Note: we may introduce some C++ topics as well.
CSCI 112: Programming With C
Undergraduate course, Montana State University, Computer Science, 2023
Course schedule
Lab 0
, , 1900
Logistics
- Due: Thursday, August 25th anywhere on earth (6am Friday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: send a message to Lucy on Discord. The assignment on D2L will be used for reporting your grade only.
Lab 1
, , 1900
Logistics
- Due: on Thursday, September 1st anywhere on earth (6am Friday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: you have two options. The first option is to demonstrate the execution of your lab to your TA during your assigned lab section on Thursday. The second option is to submit your
.java
file to the Lab 1 assignment on D2L.
Lab 10
, , 1900
Everyone automatically gets points for this lab! Take the extra time to get started on Project 4, which covers Stacks and Queues.
Lab 11
, , 1900
Logistics
- Due: on Thursday, November 10th anywhere on earth (6am Friday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: you have two options. The first option is to demonstrate the execution of your lab to your TA during your assigned lab section on Thursday. The second option is to submit your Java file(s) on D2L.
Lab 12
, , 1900
Logistics
- Due: on Thursday, November 17th anywhere on earth (6am Friday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: you have two options. The first option is to demonstrate the execution of your lab to your TA during your assigned lab section on Thursday. The second option is to submit your Java file(s) on D2L.
Lab 13
, , 1900
Logistics
- Due: on Thursday, December 1st anywhere on earth (6am Friday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: you have two options. The first option is to demonstrate the execution of your lab to your TA during your assigned lab section on Thursday. The second option is to submit your Java file(s) on D2L.
Lab 14
, , 1900
Once you have done the MSU evaluation for the course, write a text entry in the Lab 14 D2L dropbox saying so.
Lab 2
, , 1900
Logistics
- Due: on Thursday, September 8th anywhere on earth (6am Friday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: you have two options. The first option is to demonstrate the execution of your lab to your TA during your assigned lab section on Thursday. The second option is to submit your two
.java
files to the Lab 2 assignment on D2L.
Lab 3
, , 1900
Logistics
- Due: on Thursday, September 15th anywhere on earth (6am Friday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: you have two options. The first option is to demonstrate the execution of your lab to your TA during your assigned lab section on Thursday. The second option is to submit your
Pet.java
file to the Lab 3 assignment on D2L. (Note that you don’t need to changePetDemo.java
, so you don’t need to turn it in.)
Lab 4
, , 1900
Logistics
- Due: on Thursday, September 22nd anywhere on earth (6am Friday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: you have two options. The first option is to demonstrate the execution of your lab to your TA during your assigned lab section on Thursday. The second option is to submit all six of your java files (demo, interface, and four classes implementing the interface) to the Lab 4 assignment on D2L.
Lab 5
, , 1900
Logistics
- Due: on Thursday, September 29th anywhere on earth (6am Friday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: submit any text file (Word document, .txt, pdf, etc) to the Lab 5 dropbox on D2L.
Lab 6
, , 1900
Logistics
- Due: on Thursday, October 6th anywhere on earth (6am Friday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: you have two options. The first option is to demonstrate the execution of your lab to your TA during your assigned lab section on Thursday. The second option is to submit your Java file(s) to the Lab 6 assignment on D2L.
Lab 7
, , 1900
Logistics
- Due: on Thursday, October 13th anywhere on earth (6am Friday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: you have two options. The first option is to demonstrate the execution of your lab to your TA during your assigned lab section on Thursday. The second option is to submit your Java file(s) on D2L.
Lab 8
, , 1900
Logistics
- Due: on Thursday, October 20th anywhere on earth (6am Friday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: you have two options. The first option is to demonstrate the execution of your lab to your TA during your assigned lab section on Thursday. The second option is to submit your Java file(s) on D2L.
Lab 9
, , 1900
Logistics
- Due: on Friday, October 28th anywhere on earth (6am Saturday). (Penalties from the syllabus apply if you turn it in any later.)
- Submission instructions: you have two options. The first option is to demonstrate the execution of your lab to your TA during your assigned lab section on Thursday. The second option is to submit your Java file(s) on D2L.
Lecture 1: Intro to the course & getting started with Java
, , 1900
Today, we’ll go through the course syllabus and learn how to install Java on our machines. We’ll also see our first Java program.
Lecture 13: TA Q+A
, , 1900
Lecture 15: Quiz review
, , 1900
No lecture video, unfortunately.
Lecture 2: Java vs. Python
, , 1900
Today, we’ll learn more about Java by comparing it to what we already know about Python.
Lecture 27: Quiz review
, , 1900
Lecture 28: Going over quiz; intro stacks + queues; intro Project 4
, , 1900
Lecture video kept cutting out so not bothering to post to YouTube…see three short videos on Panopto.
Lecture 37: Quicksort
, , 1900
Lecture 9: Object Oriented Design: Interfaces and Abstract Classes
, , 1900
lecture audio (thought I was recording video in higher quality…instead, just didn’t record video)
Project 1
, , 1900
Logistics
- Due: Friday, September 16th AoE.
- Submission instructions: upload
Calculator.java
andCalculatorDemo.java
to the D2L Project 1 folder. - You may do this project with a partner. If you do this, one partner should turn in the two Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Project 2
, , 1900
Logistics
- Due: Friday, September 30th AoE.
- Submission instructions: upload seven Java files (
Circle.java
,EquilateralTriangle.java
,Rectangle.java
,RegularPolygon.java
,Shape.java
,ShapeDemo.java
, andSquare.java
) to the D2L dropbox for Project 2. The preferred method is to put them all into one folder, zip that, and upload the zipped file. Ask if you need help with this. - You may do this project with a partner. If you do this, one partner should turn in the seven Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Project 3
, , 1900
Logistics
- Due: Friday, October 21st AoE.
- Submission instructions: upload your java files to the D2L dropbox for Project 3. If you have more than one file, the preferred method is to put them all into one folder, zip that, and upload the zipped file. Ask if you need help with this.
- You may do this project with a partner. If you do this, one partner should turn in the Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Project 4
, , 1900
Logistics
- Due: Friday, November 18th AoE.
- Submission instructions: upload your Java files to the D2L dropbox. If you have more than one file, the preferred method is to put them all into one folder, zip that, and upload the zipped file. Ask if you need help with this.
- You may do this project with a partner. If you do this, one partner should turn in the Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Project 5
, , 1900
Logistics
- Due: Friday, December 9th AoE.
- Submission instructions: upload your Java files to the D2L dropbox. If you have more than one file, the preferred method is to put them all into one folder, zip that, and upload the zipped file. Ask if you need help with this.
- You may do this project with a partner. If you do this, one partner should turn in the Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Quiz 1
, , 1900
Quizzes will be on Brightspace and can be done on your own time. You can also come to the lecture classroom during the day of the quiz and take the quiz there so that you can get immediate help from a TA if a question is unclear or you have any technical difficulties.
Quiz 2
, , 1900
Quizzes will be on Brightspace and can be done on your own time. You can also come to the lecture classroom during the day of the quiz and take the quiz there so that you can get immediate help from a TA or the instructor if a question is unclear or you have any technical difficulties.
Quiz 3
, , 1900
Quizzes will be on Brightspace and can be done on your own time. You can also come to the lecture classroom during the final period and take the quiz there so that you can get immediate help from a TA or the instructor if a question is unclear or you have any technical difficulties.
Survey 1
, , 1900
Surveys will be on Brightspace and can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
Survey 2
, , 1900
Surveys will be on Brightspace and can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
CSCI 132: Basic Data Structures and Algorithms
Undergraduate course, Montana State University, Computer Science, 2022
Course schedule
Project 1
, , 1900
Logistics
- Due: Friday, September 16th AoE.
- Submission instructions: upload
Calculator.java
andCalculatorDemo.java
to the D2L Project 1 folder. - You may do this project with a partner. If you do this, one partner should turn in the two Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Project 2
, , 1900
Logistics
- Due: Friday, September 30th AoE.
- Submission instructions: upload seven Java files (
Circle.java
,EquilateralTriangle.java
,Rectangle.java
,RegularPolygon.java
,Shape.java
,ShapeDemo.java
, andSquare.java
) to the D2L dropbox for Project 2. The preferred method is to put them all into one folder, zip that, and upload the zipped file. Ask if you need help with this. - You may do this project with a partner. If you do this, one partner should turn in the seven Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Project 3
, , 1900
Logistics
- Due: Friday, October 21st AoE.
- Submission instructions: upload your java files to the D2L dropbox for Project 3. If you have more than one file, the preferred method is to put them all into one folder, zip that, and upload the zipped file. Ask if you need help with this.
- You may do this project with a partner. If you do this, one partner should turn in the Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Project 4
, , 1900
Logistics
- Due: Friday, November 18th AoE.
- Submission instructions: upload your Java files to the D2L dropbox. If you have more than one file, the preferred method is to put them all into one folder, zip that, and upload the zipped file. Ask if you need help with this.
- You may do this project with a partner. If you do this, one partner should turn in the Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Project 5
, , 1900
Logistics
- Due: Friday, December 9th AoE.
- Submission instructions: upload your Java files to the D2L dropbox. If you have more than one file, the preferred method is to put them all into one folder, zip that, and upload the zipped file. Ask if you need help with this.
- You may do this project with a partner. If you do this, one partner should turn in the Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Quiz 1
, , 1900
The first quiz will cover everything we have learned in the course through functions and pigeonhole principle.
Quiz 2
, , 1900
The second quiz will cover everything we have learned in the course through probability and counting, but will focus on the topics we covered since the last quiz: relations, proof by mathematical induction, graphs, and probability and counting.
Quiz 3
, , 1900
The third quiz will cover everything we have learned in the course, but will focus algorithm analysis. Note that algorithm analysis and big O deal with many of the topics from earlier in the course: relations, functions, propositions, predicates, sets, and of course proofs and thus all of the proof techniques. Thus, while the questions will focus on big O and algorithm analysis, you will want to be familiar with the ideas from earlier in the course.
Survey 1
, , 1900
Surveys will be on Brightspace and can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
Survey 2
, , 1900
Surveys will be on Brightspace and can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
Survey 1
, , 1900
The mid-course survey is anonymous and will be on D2L under “Surveys”. It can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
CSCI 246: Discrete Structures
Undergraduate course, Montana State University, Computer Science, 2023
Course schedule
Project 1
, , 1900
Logistics
- Due: Friday, September 16th AoE.
- Submission instructions: upload
Calculator.java
andCalculatorDemo.java
to the D2L Project 1 folder. - You may do this project with a partner. If you do this, one partner should turn in the two Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Project 2
, , 1900
Logistics
- Due: Friday, September 30th AoE.
- Submission instructions: upload seven Java files (
Circle.java
,EquilateralTriangle.java
,Rectangle.java
,RegularPolygon.java
,Shape.java
,ShapeDemo.java
, andSquare.java
) to the D2L dropbox for Project 2. The preferred method is to put them all into one folder, zip that, and upload the zipped file. Ask if you need help with this. - You may do this project with a partner. If you do this, one partner should turn in the seven Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Project 3
, , 1900
Logistics
- Due: Friday, October 21st AoE.
- Submission instructions: upload your java files to the D2L dropbox for Project 3. If you have more than one file, the preferred method is to put them all into one folder, zip that, and upload the zipped file. Ask if you need help with this.
- You may do this project with a partner. If you do this, one partner should turn in the Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Project 4
, , 1900
Logistics
- Due: Friday, November 18th AoE.
- Submission instructions: upload your Java files to the D2L dropbox. If you have more than one file, the preferred method is to put them all into one folder, zip that, and upload the zipped file. Ask if you need help with this.
- You may do this project with a partner. If you do this, one partner should turn in the Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Project 5
, , 1900
Logistics
- Due: Friday, December 9th AoE.
- Submission instructions: upload your Java files to the D2L dropbox. If you have more than one file, the preferred method is to put them all into one folder, zip that, and upload the zipped file. Ask if you need help with this.
- You may do this project with a partner. If you do this, one partner should turn in the Java files on D2L and the other should just submit a comment on D2L saying who their partner is. The TA for the partner who turned it in will enter the same grade for both partners. If you choose this option, you should do the project together, not just have one partner do all the work.
Quiz 1
, , 1900
The first quiz will cover everything we have learned in the course through proofs in predicate logic (so no functions).
Quiz 2
, , 1900
The second quiz will focus on everything since the first quiz, so functions, pigeon hole principle, proofs by induction and recursively defined structures, big O, and worst-case runtime analysis, including analyzing recursive functions.
Quiz 3
, , 1900
The third quiz will focus on everything since the second quiz: relations, graphs, and probability. However, a few questions will relate to content from the previous parts of the course.
Survey 1
, , 1900
Surveys will be on Brightspace and can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
Survey 2
, , 1900
Surveys will be on Brightspace and can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
Survey 1
, , 1900
Surveys are anonymous and will be on D2L. They can be done on your own time. The idea is to give feedback on the course. You should be able to complete the survey in under 5 minutes if you like, or you can take longer and give more feedback.
CSCI 246: Discrete Structures
Undergraduate course, Montana State University, Computer Science, 2023
Course schedule
Paper presentations
, , 1900
In the second half of the course, groups of three or four students will lead a one-hour presentation and lesson about a book chapter or published research paper related to the algorithm design strategy covered in the previous week. Note that the goal of the presentation is to help the class understand the technical content of the paper or chapter in the context of the previous week’s lecture topic. You do not need to cover the entire paper. Instead, find some part or parts of the paper that you think the class will be able to understand and find interesting.
Paper writeup
, , 1900
In every week that you are not a presenter, you will need to turn in a paper writeup. The goal of completing the paper writeup is to practice reading a research paper with a specific goal in mind. For us, this specific goal is to understand how this paper relates to the previous week’s lecture topic.
Problem presentations
, , 1900
In order to practice communicating mathematical ideas in-person, we will have a presentation by a group of about 2 students to start every class during the CS theory portion of the class, beginning 1/30. The group will choose one of the “to think about later” problems from the previous day’s problem session and present and explanation and solution to the problem.
Data Breaches Teaching Demo
Undergraduate course, Montana State University, Computer Science, 2021
On October 25th, 2021 I gave a teaching demonstration to the CSCI 107 course at Montana State University.
CSCI 432/532: Advanced Algorithm Topics
Undergraduate course, University of Montana, Computer Science, 2024