Introduction to the Course
This class is about computing from many different angles. Part of the class is an overview of the discipline as it is right now. Another part of the class is an introduction to programming for non-programmers. We utilize Python, as Python is useful for digital humanities as well as the sciences. Finally, you will experiment with a small system, an Arduino, to introduce you to the world of embedded computing and electronics. The aim of this class is not to make you a programmer, but to allow you to understand the world of programming.
As Marquette students, you should have signed the honor's code. Violation of the honor's code will be dealt with in the humane way that the university committee on academic misconduct offers. If you collaborate with a person on homework, make a statement to this purpose. If you collaborate with a person on examinations or quizzes, you are violating the honor's code.
This class is intended to be an inverted class and I expect you to study the topic of the class before we meet. As we might have to move to a complete on-line format, you will have to attend zoom meetings at the scheduled class time. We will spend the class time deepening your understanding by lectures on particular difficult topics, activities, and quizzes. There is no make-up for missed quizzes.
The university has a policy of automatic drops for non-attendance, equivalent to two weeks of classes. This means that you will be dropped from the class, if you have not attended 6 class sessions. Your attendence is measured by your participation in the quizzes.
Homeworks are due on time. If your homework has mistakes, I might give you a chance to improve your answer.
Please monitor your grading, the interface of D2L makes it easy to loose freshly entered grades.
Syllabus
Here is the complete syllabus. --Click here.--
Office Hours
- Thomas Schwarz MTW 1:30 pm - 2:30 pm or by appointment. (I am serious about the latter, just send me email.) I am going to host a zoom meeting with link https://us02web.zoom.us/j/81258461828?pwd=WElTYlJxRU8ybkhONyt6ZXlFOEZhUT09 and Passcode: 834069. Meeting ID: 812 5846 1828 Passcode: 834069
Piazza Discussion Board
piazza.com/marquette/spring2021/cosc1000
Week 1
Contents
Week 1
Monday, Jan 25, 2021
Wednesday, Jan 27, 2021
Friday, Jan 29, 2021
Week 2
Monday, Feb 1, 2021: Python scripts
Wednesday, Feb 3, 2021: Conditional Execution
Friday, Feb 5, 2021: Theoretical Computer Science
Week 3
First Project: Due Feb. 28, 2021
Monday, Feb. 8, 2021: Python for loops
Wednesday, Feb. 10, 2021: Python for loops
- loops.key [click here]
- loops.pdf [click here]
- feb10.mp4 [click here]
- paymentschedule.py [click here]
Friday, Feb. 12, 2021: Computer Organization
Week 4
Monday, Feb. 15, 2021: Python Functions
Wednesday, Feb. 17, 2021: Python Lists
- lists.key [click here]
- lists.pdf [click here]
- software.key [click here]
- software.pdf [click here]
- feb17.mp4 [click here]
Friday, Feb. 19, 2021: Software
- lists.key [click here]
- lists.pdf [click here]
- software.key [click here]
- software.pdf [click here]
- feb19.mp4 [click here]
Week 5
Monday, Feb. 22, 2021: Python Strings
- lists.key [click here]
- lists.pdf [click here]
- os.key [click here]
- os.pdf [click here]
- feb19.mp4 [click here]
Wednesday, Feb. 24, 2021: Operating Systems
- lists.key [click here]
- lists.pdf [click here]
- os.key [click here]
- os.pdf [click here]
- feb24.mp4 [click here]
Friday, Feb. 26, 2021: Software
- lists.key [click here]
- lists.pdf [click here]
- os.key [click here]
- os.pdf [click here]
- feb26.mp4 [click here]
Second Python Project
Due March 15
Week 6
Monday, March 1, 2021
Wednesday, March 3, 2021
Friday, March 5, 2021
Week 7
Monday, March 8, 2021
Week 8
Monday, March 15, 2021
Wednesday, March 17, 2021
MIDTERM- midterm preparation [click here]
- midterm Part A: check D2L
- midterm Part B (posted on March 17, 10:00 am)
Friday, March 19, 2021
- pyplot.key [click here]
- pyplot.pdf [click here]
- mar19.mp4 [click here]
- ill.csv [click here]
- mic.csv [click here]
- min.csv [click here]
- wis.csv [click here]
Third Python Project
Due March 28, 2021
Week 9
Materials
Monday, March 22, 2021
Wednesday, March 24, 2021
Friday, March 26, 2021
Fourth Python Project
Due April 5, 2021
Week 10
Monday, March 29, 2021
Wednesday, March 31, 2021
Monday, April 5 2021
Wednesday, April 7 2021
Friday, April 9 2021
Monday, April 12 2021
Embedded Systems using the Arduino Platform
Wednesday, April 14 2021
Friday, April 16 2021
Monday, April 19 2021
Wednesday, April 21 2021
Friday, April 23, 2021
Monday, April 26, 2021
Wednesday, April 28, 2021
Repetition
Friday, April 30, 2021
Monday, May 3, 2021
- Presentation (keynote) [click here]
- Presentation (pdf) [click here]
- Program [click here]
- painkiller.csv [click here]
Friday, May 7, 2021
Final
The final (Tuesday, 8:00 - 10:00 ) will be administered via the usual Zoom and a Zoom dropbox. There is no "presence Final".
Homeworks
Mandatory Arduino Project (due April 26)
Mandatory Arduino Project (due April 26)
Program the Arduino to mimic a traffic light with a green, a yellow (amber), and a red LED. The phases are
- A solid red light for 6 seconds
- An amber light for 2 seconds
- A green light for 4 seconds
- A flashing green light for 2 seconds
- An amber light for 2 seconds
- A solid red light and the cycle starts over again
You need to hand-in a pdf containing your sketch, an image of the set-up and a mp4 of your project via a D2L drop-box. Alternatively, you can show it to me after class.
Final Arduino or Python Project
Create either an Arduino project that uses both output and input. Hand-in as before. Alternatively, create a graph based on real world data that allows to draw comparisons, e.g. infant mortality over the last decades for different countries. Make sure your graph has a title and axes labels.
An Advanced Project in Lieu of Final
A sufficiently more involved project can replace your last project and the final. You need to obtain approval from me.
Final
Please submit solutions to the final in the dropbox. Please create a pdf.