Time:
- Tues and Thurs: 12:30-01:45p
- Weds: 12-12:50p
Places:
Instructor
& TA Contact Info:
Luc Renambot
Phone: (312) 996-3002
Office: Room 2032, Engineering Research Facilities Building (842
W Taylor St)
Home Page: http://www.uic.edu/~renambot
Office Hours: 2032 ERF: Thursdays after class till 3pm
TA:
Kaiser Asif
Office Hours: Room TBD: Day TBD
Course Description (from the catalog):
Programming language semantics,
scope, overloading, data abstraction, constructors. Procedural
and object-oriented design, programming tools and environments.
Interactive application structure and interface, windows,
events, widgets.
For Starters:
For starters please fill
out the following survey.
Course
Requirements:
CS
202
Textbooks & Resources:
You
do not need to buy textbooks for this class (unless
you really want to) because it is available digitally through
UIC's library proxy. Welcome to the future!
To gain
access to the textbooks:
If
you really want to buy the physical textbooks I recommend you
order them on Amazon since these books are probably not
available at the UIC bookstore. I recommend you just read the
online version for now.
Administrative
Stuff:
-
No
exams for this class. Yeah you read it right.
Don't make me regret it!
-
No
late assignments accepted. Forget it, don't even
try come up with some excuse. Most assignments give you at
least a month to work on them.
-
Cheating!
Bad! Don't do it. If I catch you copying someone
else's work, you will face disciplinary action (you know
public humiliation, canning, banishment, that sort of
thing). There are programs like MOSS that are really good
at catching stuff like that, so spend the effort and do
the work rather than cheat. It'll just ruin your career in
the long run.
-
If your programs don't
compile your grade for the program is zero,
zip, nadda, end of
discussion.
-
If your program crashes
and prevents us from testing portions of your assignment
then you lose points for the portion we can't test. In
general it's not good for your program to crash. It just
makes the TA mad and he'll take it out on your grade.
-
For each program you are
required to have:
-
README.html
to explain how to compile and launch it.
-
Instructions.html
to explain how to actually operate the program once
running.
-
Design.html
that describes at a high level the software
design of your program. E.g. how have you partitioned
the program across files, and how have you designed
the C++ classes and why.
-
No
incompletes unless your current performance in
class is at least a B
and you have a really good excuse.
-
No
extra work is allowed to make up for poor
performance. I have to treat everyone equally.
-
Attendance
is up to you. You're an adult and besides, you're
paying for the class. There's an African proverb that
says: "Those who are
absent are always wrong..."
Course Assignments:
Generally there will be 4 assignments for a total of 100 points.
- Assignment 1: [5
points] Project proposal descriptions.
- Assignment 2: [25
points] Mini-presentation on topic in Software Design (15
minute presentations).
- Assignment 3: [70
points] Team up with someone to develop something of interest
to your team. This year's theme will be mobile apps. Maximum
team size of 4 only (25 minute final presentations).
Course Topics and Tentative Schedule /
Due Dates:
Dates are tentative depending on how quickly we move through
materials and class size.
- Week 1
- C++ in a nutshell
- Aug 28
- Aug 29
- Aug 30
- Week 2
- Intro to Qt
- Sept 4
- Sept 5
- Sept 6
- Week 3
- Programming Style
- Agile Software Development
- Working in Teams, Version
Control
- Sept 11
- Sept 12
- Sept 13
- Assignment 1
due: Submit project ideas
- Week 4
- Design Patterns
- Sept 18
- Sept 19
- Sept 20
- Submit
proposal for Assignment 2- Mini-Talks
- Week 5
- Qt Graphics
- Thread Programming
- Sept 25
- Sept 26
- Sept 27
- Week 6
- Network Coding
- Cloud Computing
- Oct 2
- Oct 3
- Oct 4
- Project
Review A1: 5 groups (15 minutes)
- Week 7
- Oct 9
- Assignment 2:
Mini-Talk 1-5 (15 minutes)
- Oct 10
- Assignment 2:
Mini-Talk 6-8
- Oct 11
- Project Review A2: 5 groups
- Week 8
- Oct 16
- Assignment 2:
Mini-Talk 9-13
- Oct 17
- Assignment 2:
Mini-Talk 14-15
- Oct 18
- Project
Review A3: 5 groups
- Week 9
- Oct 23
- Assignment 2:
Mini-Talk 16-20
- Oct 24
- Assignment 2:
Mini-Talk 21-23
- Oct 25
- Project
Review B1: 5 groups
- Week 10
- Oct 30
- Assignment 2:
Mini-Talk 24-28
- Oct 21
- Assignment 2:
Mini-Talk 29-31
- Nov 1
- Project
Review B2: 5 groups
- Week 11
- Nov 6
- Assignment 2:
Mini-Talk 32-36
- Nov 7
- Assignment 2:
Mini-Talk 37-39
- Nov 8
- Project
Review B3: 5 groups
- Week 12
- Jason on travel - No
class
- Nov 13
- Nov 14
- Nov 15
- Week 13
- Nov 20
- Assignment 2:
Mini-Talk 40-44
- Nov 21
- Nov 22
- Week 14
- Nov 27
- Final Project
Presentation for Groups 1, 2, 3 (25
minutes)
- Nov 28
- Final Project
Presentation for Groups 4, 5
- Nov 29
- Final Project
Presentation for Groups 6, 7, 8
- Week 15
- Dec 4
- Final Project Presentation for Groups 9, 10, 11
- Dec 5
- Final Project Presentation for Groups12, 13
- Dec 6
- Final Project
Presentation for Group 14- Tour of CAVE2
- ASSIGNMENT 3: FINAL
PROJECT DUE
- Finals week
- Study for your other
midterms!
|