CS 104 – Fall 2020
WEBSITE
www.cs.iit.edu/~cs105 (not a
typo, actually use cs105 as entry point)
Click on cs104
Click on Hanrath cs104 Syllabus
INSTRUCTOR
All Sections Jon Hanrath (hanrath@iit.edu) Lecture: remote/online Mailbox: CS Dept. (235-236
Stuart) |
LABORATORIES
SECTION |
DAY |
TIME |
ROOM |
TA |
001 |
Friday |
8:30 AM-9:20 AM |
SB112J |
Redington ,Marissa mredington@hawk.iit.edu |
|
|
|
SB108 |
Raffanti, Kristen |
|
|
|
|
|
002 |
Friday |
8:30 AM-9:20 AM |
SB112E |
Pintoy, Keith kpintoy@hawk.iit.edu |
|
|
|
|
|
003 |
Friday |
8:30 AM-9:20 AM |
SB112F |
Griggs,
Jamie |
|
|
|
|
|
004 |
Friday |
8:30 AM-9:20 AM |
, |
Kasprzak Elizabeth ekasprzak@hawk.iit.edu |
Textbooks (available online for free):
Matlab by Example: Programming Basics: , Munther Gdeisat and Francis
Lilley, Elsevier Science and Technology Books, Inc. © 2013, ISBN:9780124052123.
Available in Books
24/7 online through the IIT Galvin Library http://library.iit.edu/find/databases/all/b
choose "Books 24 x 7" and search for the
book. If not on campus, logon.
Problem
Solving Basics and Computer Programming: http://www.cs.iit.edu/~cs104/ProblemSolving.pdf
Computing Resources:
Matlab
is available in all the labs in academic buildings on campus. It is NOT
available free to download. Matlab is also available
from IIT's Virtual Computer Lab (see the icon in myiit at the top).
https://ots.iit.edu/sites/ots/
https://ots.iit.edu/classrooms-labs/virtual-computer-lab-faqs
Current Catalog Description:
Introduces the use of
high-level programming language as a problem-solving tool in engineering
including basic data structures and algorithms, structured programming
techniques, and software documentation. Designed for students who have had little or no
prior experience with computer programming. 2-1-2
Course Goals:
Students should be able to:
1. Demonstrate problem solving approaches. (i.e. break problems
into logical pieces that can be solved (programmed) independently; including
approximation approaches, solving a continuous problem with discrete approach,
randomness approach, vector/matrix approaches are key in many engineering
majors)
2. Develop and evaluate algorithms. (i.e. for solving
problems in a suitable language and environment; concern with accuracy,
efficiency)
3. Demonstrate knowledge of the limits and capabilities
of computational approaches to problem solving, including accuracy, overflow,
and computational limitations.
4. Develop and apply test cases that can be used to
verify the accuracy of programmed solution
5. Implement their design and algorithms in an
appropriate programming language and environment utilizing the following
fundamental programming constructs: arithmetic statements (both scalar and
vector/matrix), I/O (including file I/O), selection, iteration, functions (both
external libraries and thier own), and linear data
structures. Documentation of their code and good programming practice are also
required.
6. Identify and correct both syntactic and semantic
errors in code and use a debugging environment to resolve them
7. Present data in a meaningful way using packaged
plotting and graphing systems.
Lectures and Tests:
Students are expected to review
lectures. Students are expected to
understand the information presented in lecture slides. Students are expected to take tests on test
days. If a student is to miss a test,
email *must* be sent to the
instructor *ahead of time* to set up
a fair and reasonable accommodation.
Lecture Slides
Can Be Found Here
Laboratories:
Student are required to complete the lab exercises and use the
opportunity to increase their knowledge and ability in the concepts taught. If a student completes the lab on time, the
student will earn full credit for that lab (10 points). If the student completes part of the lab, the
student will be given half credit (5 points).
If the student fails to do the lab, the student receives no credit (0
points).
Labs
(Exercise Sets) Can Be Found Here
Grading :
Labs(13)-20%
Quizzes-5% each (10%
total)
Exam 1-10%
Exam 2-25%
Final Exam-35%
A=90-100 B=80-89.999 C=70-79.999 D=60-69.999 E=0-59.999
No late assignments accepted. No extra
credit. No make-up exams.
Ethics:
Any behavior on any homework, lab, project or
exam that could be considered copying or cheating will result in an immediate
zero on the assignment for all parties involved and will be reported to
academichonesty@iit.edu Please see the IIT Code of Academic Honesty
https://web.iit.edu/student-affairs/handbook/fine-print/code-academic-honesty
Reasonable accommodations will be made for
students with documented disabilities. In order to receive accommodations,
students must obtain a letter of accommodation from the Center for Disability Resources.
The Center for Disability Resources (CDR) is located at 3424 S. State Street -
1C3-2 , 312 567.5744 or disabilities@iit.edu
CS104 Fall 2020 Schedule
Monday/Wednesday Sections
001-002 |
|||
Week |
Start Date of Week (Monday) |
Lab Due
|
Lecture |
1 |
8/24 |
READ : Problem Solving Basics and Computer
Programming - Sequential Processing (pages 1-4) |
Lecture 1 – Introduction, Problem Solving |
2 |
8/31 |
READ : Matlab by Example: Programming Basics
- Chapter 2.1-2.3 |
Lecture 2 – MatLab
Basics, Statements, Expressions |
3 |
9/7 |
READ : |
Lecture 3 - Display and Main Memory |
4 |
9/14 |
READ : Matlab by Example: Programming Basics
- Chapter 1.2 Exercise Set 4 |
Quiz 1 Lecture 4 - MATLAB m-files |
5 |
9/21 |
READ : Matlab by Example: Programming Basics
- Chapter 6.1 6.2 |
Lecture 5 – Selection |
6 |
9/28 |
READ : Matlab by Example: Programming Basics
- Chapter 6.5 Exercise Set 6 |
Exam 1 Lecture 6 – Selection, Switch/Case |
7 |
10/5 |
READ : Matlab by Example: Programming Basics
- Chapter 7.3 Exercise Set 7 |
Lecture 7 – While Loops |
8 |
10/12 |
READ : Matlab by Example: Programming Basics
- Chapter 7.1 7.2 |
Lecture 8 – For Loops |
9 |
10/19 |
READ : Matlab by Example: Programming Basics
- Chapter 5.1.- 5.3 |
Quiz 2 Lecture 9 - Functions |
10 |
10/26 |
READ : Matlab by Example: Programming Basics
- Chapter 3.1, 3.2, 3.3 |
Lecture 10 – Arrays (Vectors) |
11 |
11/2 |
READ : Matlab by Example: Programming Basics
- Chapter 3.4 Exercise Set 11 |
Lecture 11 - Vector Operations |
12 |
11/9 |
READ : Matlab by Example: Programming Basics
- Chapter 4.1 Exercise Set 12 |
Exam 2 Lecture 12 - Matrices I |
13 |
11/16 |
READ : Matlab by Example: Programming Basics
- Chapter 4.3, 4.4 |
Lecture 13 – Matrices II |
14 |
11/23 |
No Lab |
No Lecture Wednesday (Thanksgiving) |
15 |
11/30 |
Review for Final Exam |
Final Exam
(Wednesday), |
|
|
|
|
Exam
Schedule |
|||
Monday 9/14 |
8:30am to 8:55am CDT |
Quiz 1 (5%) |
25 min |
Monday 9/28 |
8:30am to 9:20am CDT |
Exam 1 (10%) |
50 min |
Monday 10/19 |
8:30am to 8:55am CDT |
Quiz 2 (5%) |
25 min |
Monday 11/9 |
8:30am to 9:20am CST |
Exam 1 (25%) |
50 min |
Wednesday 12/2 |
7:20am to 9:20am CST |
Final Exam (35%) |
120 min |