Course #: | CAIH 150 |
CRN: |
11301 |
Day/Time: | Tuesday and Thursday, 6:00 - 8:50 p.m. |
Prerequisites: | none |
Instructor: | Dr. Channah Naiman |
email: | naiman@luc.edu |
web page: | http://cnaiman.com/COMP150 |
Objectives | Exams |
Texts and Software | Grades |
Course Schedule | Academic Honesty |
Class
Format,
Attendance |
Students with Disabilities |
Homework/Assignments | Blackboard |
Important Dates |
"To
Learn, To Teach, To
Observe, and To Do." The
student
should be a Critical Thinker, Effective
Communicator, Proactive Educator, and Moral Practitioner.
There is recent evidence that with all the online resources available, a hybrid approach is useful for on-campus courses. The approach I plan to mostly be doing with you is called flipping: flip when you get most of your presentations and do much of your homework, so the presentations are mostly at your convenience, at your speed, as videos/text on your computer or in a lab, and then in class discuss questions you had on the presentations and do much of the harder creative work of synthesizing and using this information, when you have the most direct support from me, and interaction with classmates. Please give me feedback on how this is going and what you think would improve your experience!
There will be an in-class mini-lecture to introduce
new
topics. The exact mix of lecture and work time will depend on student preparation and need.
For
the non-Python topics, there will be short demonstrations/labs in
class, in which you are expected to participate. You are
responsible
for
what
goes on in class, even if some of the activity may not be
covered in the class notes.
I am expecting you to look at assigned presentations before
class,
but if you want to
check on
something in a video during class, remember to bring headphones! (Use headphones if you listen
on
your own notebook computer in class, too.)
Class time is valuable and in short supply, so there are some tradeoffs in this approach. You cannot immediately get a question answered by me in the middle of a video presentation. That is offset by the fact that there are several days at least to take in the videos, so if you attend to them early, you have time to get emailed feedback before you finish viewing. It would be helpful if you kept a list of questions as you watch the videos. You may find that some of your questions will be answered as you continue to wathc the videos, and some you will want to bring to class.
Cell Phones: Only you know the relative importance of any particular cell phone call, and whether it is important for you to answer a call imediately rather than later. I do want you to be respectful of my class and disrupt it as little as is practical. If you get cell phone calls with fair frequency, be sure to have the ring muted before coming to class. If you rarely get calls, you might not mute it ahead, and your cell phone may happen to ring. Get rid of the noise as soon as possible, and do not get flustered. I assume you will move outside the classroom for a conversation. If you get fairly frequent calls that you are likely to consider important answering, sit in a place where your exit and re-entrance are as unobtrusive as possible.
Programming
Assignments: For each tutorial, you must submit
to Blackboard a
zip file of the required exercises for that chapter. The
exercises are mentioned as you encounter them in the
tutorials.
In addition, a list of the exercises and the due dates for each
assignment are linked to on the Course
Schedule.
Homework
Assignments:
There are also several non-programming homework assignments.
The links to these homeworks and their due dates are on the
Course Schedule(below). Pip Program (assembly-language
programming) and Logic Gates are listed. We may also have an
additional assignment on database queries.
Pair Programming: It has been demonstrated recently that Pair Programming, two people collaborating on one problem with one person coding while the other looks on, whether beginner students or seasoned professionals, allows projects been done better and faster with more confidence, and also that students learn at least as well and have more enjoyment in the process. We will have the option to do pair programming in this course for in-class work and programing assignments. (Your exams will NOT be in pairs however!) Read the page on how to make pair programming work and also the page of administrative guidelines for pair programming (mostly for when it does not work out as planned!).
Project: You will form teams of two or three, to complete a project, which is a major programming assignment in Python. Some suggestions for the project can be found here. This will be discussed further in class.Students with Disabilities: If you have a documented disability and wish to discuss academic accommodations, please contact Dr. Richard Aronoff, our Disability Officer. The full policy on disability accommodations is listed under the College Policies on Blackboard/Canvas. Please be aware that I am not allowed to accommodate you without a letter from the Disabilities Office.
Tutorial, Chapter 1 Exercises | 45 |
Tutorial, Chapter 2 Exercises | 45 |
Tutorial, Chapter 3 Exercises | 60 |
Exam |
350 |
Python Project | 250 |
Number System Excercises |
60 |
Pip Program | 60 |
Gates Homework | 60 |
Attendance, Participation, Timeliness |
50 |
Total | 1000 |
A+ |
97 |
A |
93 |
A- |
90 |
B+ |
87 |
B |
83 |
B- |
80 |
C+ |
77 |
C |
73 |
C- |
70 |
D+ |
67 |
D |
63 |
The dates below give the sequence and a general idea of the time spent, though we may get ahead or behind this time schedule at different points, depending on the needs of the class. Links for assignments and exam reviews may be inaccurate (not updated) or missing until their introduction in class. You are expected to come to class having prepared the tutorial sections listed for that day. Written assignments should be turned in to Blackboard by the end of the day listed (11:55PM), unless otherwise noted. The section on Course Materials discusses how to obtain the videos for the listed sections.
Week |
Date | Activities | Due |
1 | 6/18 |
In class:
Syllabus, Pair Programming:
the idea
and administration,
introductory notes
Form pairs, pictures, introduce Hands-on Python Tutorial, Example Files, Python Installation Begin Python: Tutorial, Chapter 1 Followup: make sure you have completely read the administrative documents introduced above. |
|
6/20 | Hands-on
Python Tutorial through Input/Output 1.10 Python Tutorial functions 1.11, dictionaries 1.12 |
||
2 |
6/26 |
Python
Tutorial 1.13 Loops, 1.14 Data Types |
|
6/28 | Python Tutorial 2.1 - 2.3 Strings and more Madlibs |
Chapter 1 Exercises |
|
3 |
7/03 |
Python
Tutorial 2.4 Graphics |
|
7/05 |
Python Tutorial 3 - 3.3.1 If statements and simple While loops |
||
4 |
7/10 | PYthon Tutorial 3.3.2 - 3.3.4 through Bouncewhile |
Chapter 2 Exercises |
7/12 | Review, Catch up, and possible web connection (depending on progress) Final Team Formation Discuss Project Ideas |
Chapter 3.1 Exercises | |
5 |
7/17 |
Exam
(review
materials part 1; review materials part 2 Bases and Binary Arithmetic in binary web notes (videos N2, N3A, N3B, N3C-E) Project Work |
Submit
any
independent plan for the Python
Project Number system exercises due at the end of class |
7/19 |
Pip assembler through 4E in web notes (videos N4, N4A, N4B, N4C, N4D, N4E) Pip If-else in assembler (Videos N4F, N4G, N4H) (we may not cover this part) Project Check |
Chapter 3.2--3.3.4 Exercises | |
6 |
7/24 |
gatesand Boolean
algebra (N5A-D)
through Gates Applet Gates and Boolean Algebra (N5E-I) Project Final Check |
Pip
Program Gates HW due in class |
7/26 |
Project Presentations |
Python Project Due |