CS 1313 010 Spring 2009
Programming for Non-majors
University of Oklahoma
ANNOUNCEMENTS
DR. NEEMAN'S
TUESDAY HELP SESSIONS
(9:00-10:30am)
HAVE MOVED TO
CARSON S-18
(in the sub-basement)
STARTING TUE FEB 3.
His Monday afternoon help sessions will STAY in Carson 205.
If you need help with
CodeLab,
Pending Events & Deadlines
NO LABS Fri May 8
Comprehensive Final Exam
Thu May 14, 8:00-10:00am, SEC A235
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
SYLLABUS
LECTURES
Monday/Wednesday/Friday 9:30-10:20am
Sarkeys Energy Center (SEC) A235
Click
here
for a campus map.
CS1313 HELP SESSIONS WITH INSTRUCTOR
Mondays 3:00-5:00pm in Carson Engineering Center 205
and
Tuesdays 9:00-10:30am in Carson S-18 (in the sub-basement)
starting Mon Jan 26 & Tue Jan 27
Click
here
for a campus map.
OTHER HELP SESSIONS WITH INSTRUCTOR
Mondays 1:00-3:00pm
and
Thursdays 1:00-3:00pm
in Carson 205,
starting Mon Jan 26 & Thu Jan 29
These sessions are targeted at supercomputer users,
NOT CS1313,
so
YOU WILL BE AT LOWER PRIORITY.
Click
here
for a campus map.
OFFICE VISITS
(at One Partners Place)
BY APPOINTMENT ONLY, MADE AT LEAST 24 HOURS IN ADVANCE
CONTACTING THE INSTRUCTOR AND THE TAs
Please contact Dr. Neeman and the TAs by
unless it's an emergency.
When contacting one, unless it's a personal matter,
please contact
ALL FOUR
(instructor and all TAs).
Please
DON'T
call the
main offices of
the
School of Computer Science,
OU Information Technology
or
One
Partners Place
UNDER ANY CIRCUMSTANCES.
TEACHING ASSISTANTS
Maruf Huq
Tachun Lin
Moshe Gutman
LAB SECTIONS
Fridays in Carson
206
Attendance is
MANDATORY.
Click
here
for a campus map.
-
Section 011: Fridays Carson 206 10:30 - 11:20am
(Moshe Gutman)
-
Section 012: Fridays Carson 206 12:00 noon - 12:50pm
(Maruf Huq)
-
Section 013: Fridays Carson 206 1:00 - 1:50pm
(Maruf Huq)
-
Section 014: Fridays Carson 206 2:00 - 2:50pm
(Tachun Lin)
TA HELP SESSIONS
Held in
Engineering Lab 158
(SE corner of Asp & Felgar,
across Asp from the Union)
Click
here
for a campus map.
-
Maruf Huq:
Tuesdays 10:45am-12:30pm
starting Tue Jan 27
and
Wednesdays 8:00-9:15am
starting Wed Jan 28
-
Tachun Lin:
Tuesdays 1:15am-2:45pm
starting Tue Jan 27
-
Moshe Gutman:
Tuesdays 3:00-4:30pm
starting Tue Jan 27
Ambitious, Tentative List of Topics
-
Computer Organization
-
C Introduction
-
Introduction to Data & Expressions
-
Variables & Constants
-
Numeric Data Types
(
int & float)
-
Arithmetic Expressions
(
int & float)
-
Standard Library Functions
-
Symbolic Logic & Boolean Values
-
Boolean Data Type & Expressions
-
Branching
(
if)
-
Loops
(
while & for)
-
Arrays
-
Procedures (Functions)
-
Bit Representation of Integer Values
-
Character Strings
-
User-Defined Data Types (
struct)
-
File Input/Output
-
Pointers
-
Searching & Sorting
Prerequisite:
MATH 1523 (Elementary Functions) or equivalent
Note:
This course is
NOT
for students majoring or minoring in CS
or enrolled in CS option/emphasis programs.
To Be Purchased:
-
Textbook
(OPTIONAL)
--
C: How to Program,
5th ed.,
Deitel & Deitel,
Prentice Hall,
2006
Available at the University Bookstore
-
TuringsCraft CodeLab
(MANDATORY)
--
www.turingscraft.com
Cost: $25 per student for the entire semester
(the first 10 exercises are free)
Required work (and percent of overall grade)
-
5-10 Programming Projects (45%)
-
Short programming assignments (10%)
-- CodeLab
(due every Friday starting Fri Jan 30 unless otherwise announced)
-
MANDATORY Lab Attendance (10%)
starting Fri Jan 23
-
Weekly Quizzes (10%):
every Monday
9:30-9:45am,
starting Mon Jan 26,
except as announced
(open book, open notes but not open neighbor nor open laptop unless otherwise announced).
Quiz questions will be taken word-for-word from
the homework assigned the previous week,
unless otherwise announced.
-
2 In-Class Exams (15% for both)
-
Wed March 4, 9:30-10:20am, SEC A235
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
-
Wed Apr 8, 9:30-10:20am, SEC A235
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
-
Comprehensive Final Exam (10%):
Thu May 14, 8:00-10:00am, SEC A235
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
Recommended work:
Homeworks will be assigned every week,
starting Tue Jan 20,
unless otherwise announced.
Quiz questions will be taken WORD-FOR-WORD
from homeworks;
homeworks
WON'T be collected or graded.
Web-based Short Programming Assignments
(CodeLab)
Instructions on how to register for
and use CodeLab
are
posted on the CS1313 website.
EACH SHORT PROGRAMMING ASSIGNMENT
WILL CONSIST OF MULTIPLE CODELAB EXERCISES.
Each CodeLab exercise
that is
COMPLETE, CORRECT AND ON TIME
will receive FULL CREDIT;
each CodeLab exercise
that is
COMPLETE, CORRECT BUT LATE
will receive QUARTER CREDIT;
each CodeLab exercise
that is
incomplete and/or is incorrect
will receive NO CREDIT.
Grading
-
Letter Grades
-
A: G > 90%
-
B: 80% < G < 90%
-
C: 70% < G < 80%
-
D: 60% < G < 70%
-
F: G < 60%
-
We reserve the right to curve the grades as we see fit,
but the curve won't be harsher than this.
-
Your overall grade for the course will be calculated this way:
where:
-
G is your overall grade for the course;
-
Q refers to quizzes,
P refers to programming projects,
S refers to short programming assignments (CodeLab),
E refers to in-class exams,
F refers to the final exam
and
L refers to lab sessions (calculation of L shown below);
-
WA is the percentage weight of assignment type A
(that is,
WQ = 10,
WP = 45,
WS = 10,
WE = 15,
WF = 10,
WL = 10);
-
Ai
is your score on the
ith
assignment of type A;
-
Aimax
is the maximum possible score on the
ith
assignment of type A;
-
NA
is the number of assignments of type A;
-
Lab Sessions
-
ATTENDANCE AT ALL LAB SESSIONS IS MANDATORY
starting Fri Jan 23,
and will constitute 10% of your overall CS1313 grade.
Failure to attend labs may cost as much as a full letter grade.
-
At the BEGINNING of each lab session,
your TA will TAKE ATTENDANCE.
-
Your TA
will then
spend
up
to half of the session
discussing an important topic,
possibly
including
how to design
a newly-assigned programming project.
-
After that,
you will spend the remainder of the lab session
working on CS1313 assignments
(programming projects, short programming assignments and homeworks).
-
At the END of the lab session,
your TA will TAKE ATTENDANCE AGAIN.
-
For each lab session,
you will receive one of the following scores:
-
2:
You were marked present at both
the beginning and the end of the lab session.
-
1:
You were marked present at either
the beginning or the end of the lab session,
but not both.
-
0:
You were marked absent at both
the beginning and the end of the lab session.
-
You may miss as many as 2 lab sessions without penalty.
(Alternatively, you may arrive late or leave early from
as many as 4 lab sessions,
or you may mix and match.)
DON'T squander them.
THERE ARE NO EXCUSED ABSENCES FROM LAB;
the two free absences should be sufficient
to cover any legitimate situations that might arise.
-
Your total lab grade L will be calculated as:
where
-
NL
is the number of lab sessions
-
Li
is your score for the
ith
lab session
-
MIN(x,y)
means the lesser of
x
or
y
-
If you cannot participate in lab sessions at all
for a LEGITIMATE reason
(for example, religious observance as mentioned below),
then you MUST provide
WRITTEN DOCUMENTATION of your situation
BY 10:20AM WEDNESDAY JANUARY 28.
In such a case,
your overall grade will be calculated without using a lab grade.
Job or course schedules, planned trips, perceived lack of need
and so on
are NOT legitimate reasons.
-
You will receive credit only for attending
your officially scheduled lab session.
-
There will be no labs held during
official campus holidays
(see below for listing).
-
If for some reason a lab session has to be cancelled,
then other lab sessions during the same week will be optional
and attendance will not be taken.
Course Policies
-
Lateness penalties for programming projects
-
No lateness deduction:
if turned in no later than 10:20am on the due date
(or at any earlier time)
-
20% deducted for every lecture session late (after 10:20am)
-
EXAMPLE:
If a programming project is due by 10:20am Wed Feb 4, then ...
-
If you turn it in by 10:20am Wed Feb 4,
then there is no lateness penalty.
-
If you turn it in 10:21am Wed Feb 4 through 10:20am Fri Feb 6,
then you will lose 20% of its value right off the top
(before other deductions are assessed by the graders).
-
If you turn it in 10:21am Fri Feb 6 through 10:20am Mon Feb 9,
then you will lose 40% of its value right off the top.
-
If you turn it in 10:21am Mon Feb 9 through 10:20am Wed Feb 11,
then you will lose 60% of its value right off the top.
-
If you turn it in 10:21am Wed Feb 11 through 10:20am Fri Feb 13,
then you will lose 80% of its value right off the top.
-
If you turn it in after 10:20am Fri Feb 13,
then you will get a grade of zero.
Notes:
-
Lab sessions and help sessions
DON'T count as lecture sessions
for the purpose of determining lateness.
-
If you submit an assignment early,
then you may submit a new version of it
up through the due date without penalty.
The last version submitted by the due date will be graded;
earlier versions will be discarded.
BE SURE THAT THE LAST VERSION SUBMITTED IS COMPLETE;
for example, it should include an appropriate cover page etc.
-
No assignment submissions will be accepted after
10:20am Fri May 8
except by arrangement made by no later than
10:20am Wed May 6.
-
Helping each other
We encourage you to discuss
homeworks, short programming assignments and programming projects
with each other,
to help each other with debugging,
and to study for exams together.
However, it is
NOT ACCEPTABLE
to develop programs together,
or to copy each other's work,
on
ANY ASSIGNMENT.
Writing programs, like writing prose, is highly idiosyncratic;
it is virtually impossible for two people working independently
to produce code that is more than superficially similar,
on any but the most trivial assignments.
So,
we can generally spot shared code with little difficulty.
We reserve the right to use automatic cheating detection software.
Cheating can result in, and has resulted in,
severe penalties,
up to and including
EXPULSION
from the University
(see below),
so
DON'T EVEN THINK ABOUT IT!
-
Help from us
If you have questions or you're having trouble with the material,
we urge you
to ask questions during lectures,
to come talk to us during help sessions,
to send us e-mail,
or to make an appointment (at least 24 hours in advance)
to meet at other times.
-
Using outside sources
If, in completing an assignment,
you use
ANY
sources
(for example,
books, online resources, classmates, friends, relatives,
other professors)
other than the exceptions that follow,
then
you
MUST
clearly reference them in the assignment.
Exceptions:
the course instructor and TAs,
the course textbook,
and the course resources available directly from the course website
(that is, materials other than links to other sites).
NOTE:
Referencing an inappropriate source
ISN'T
a defense against accusations of academic misconduct
(see below).
-
Working on programming projects
DON'T
wait until the last minute to start
your programming projects.
Developing software takes a lot of time,
and may depend on the availability and reliability of systems
that you have no control over.
If the computers are down the night before a due date,
DON'T
count on that buying you extra debugging time
-- it certainly wouldn't in the real world.
-
Studying for exams
DON'T
wait until the last minute to start
studying for exams.
The best way to ensure success is to keep up with the course material,
and to ask questions.
Students who actively participate in lectures
and
attend lab sessions
and
help sessions
typically learn and retain the material much better.
-
Registration in CS1313
Fri Jan 23 is the last day to add CS1313.
-
Withdrawal from CS1313
-
Through Mon Feb 2:
no grade recorded if dropped
-
Tue Feb 3 - Fri Feb 27:
automatic grade of W
-
Mon March 2 - Fri May 8:
grade of W or F (based on assignments graded to date)
-
Mon Apr 6 - Fri May 8:
MUST petition college dean to withdraw,
AND
grade of W or F (based on assignments graded to date)
-
In accordance with OU policy:
starting Mon March 2,
you will receive a withdrawal grade of W
only if you have an overall passing grade (at least a D)
on assignments graded to date;
if your grade to date is an F,
then
you will receive a withdrawal grade of F.
-
Will this be on the exam?
Yes.
Everything covered in
lectures,
readings,
labs,
homeworks,
programming projects
and short programming assignments (CodeLab)
is fair
game
unless specifically stated otherwise.
Web Postings
All printable course materials, including
lecture slides,
homework assignments and
programming project
specifications,
will be posted on the course website
(cs1313.ou.edu).
YOU are responsible for downloading and printing these materials.
The only printed materials
that
you should expect to receive
in lecture
are
the syllabus,
the questionnaire,
the quizzes
and
the exams.
E-mail
Often, we need to alert the class to an important issue or problem.
You should check your e-mail
AT LEAST
twice a week.
Course e-mails are sent to your official OU e-mail address;
YOU
are responsible for making sure that course e-mails are getting to you.
Campus/Course Holidays
(no lectures, labs or help sessions)
-
Mon Jan 19: Martin Luther King Jr. Day
-
Mon March 16 - Fri March 20: Spring Vacation
Disability
Any student in this course who has a disability
that may prevent him or her
from fully demonstrating his or her abilities
should
contact the instructor personally as soon as possible
so that accommodations necessary
can be made
to ensure full participation
and to facilitate educational opportunities.
Religious Holidays
It is the policy of the University to excuse
the absences of students that result from
religious observances
and to provide without penalty for
the rescheduling of examinations and additional required class work
that may fall on religious holidays.
-- OU Norman Campus Faculty Handbook, October 2008
Academic Misconduct
HOW TO DO WELL IN CS1313
-
The BEST way to improve your understanding in CS1313
You'll notice,
as the semester progresses,
that the course lecture notes
(available for downloading from the course website)
contain many short example programs.
Type them in, compile them and run them,
and you'll understand the course material much better.
This approach is especially valuable because
SEVERAL PROGRAMMING PROJECTS ARE LONGER VERSIONS
OF EXAMPLE PROGRAMS IN THE LECTURE NOTES.
-
When you come to lecture, lab or help sessions,
and when you work on course assignments on your own,
ALWAYS ALWAYS ALWAYS
bring
ALL
CS1313 materials with you
--
assignment descriptions,
lecture notes,
syllabus,
graded assignments,
etc.
-
When working on a CS1313 assignment,
whether a homework, a programming project,
a short programming assignment (CodeLab) or an exam,
ALWAYS ALWAYS ALWAYS
read
EVERY SINGLE WORD
of the assignment description.
EVERY WORD THAT DR. NEEMAN WRITES DOWN IS
PURE GOLD.
-
When in doubt, LOOK IT UP, DON'T MAKE IT UP.
HANDOUTS & ASSIGNMENTS
Syllabus:
PDF
PostScript
Questionnaire:
PDF
PostScript
Lecture Slides
Homeworks
(quizzes on these are worth 10% of overall grade.)
-
Homework #1
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon Jan 26 2009
Open book & open notes but not open neighbor nor open laptop
-
Homework #2
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon Feb 2 2009
Open book & open notes but not open neighbor nor open laptop
-
Homework #3
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon Feb 9 2009
Open book & open notes but not open neighbor nor open laptop
-
Homework #4
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon Feb 16 2009
Open book & open notes but not open neighbor nor open laptop
-
Homework #5
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon Feb 23 2009
Open book & open notes but not open neighbor nor open laptop
-
Homework #6
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon March 2 2009
Open book & open notes but not open neighbor nor open laptop
-
Homework #7
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon March 23 2009
Open book & open notes but not open neighbor nor open laptop
-
Homework #8
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon March 30 2009
Open book & open notes but not open neighbor nor open laptop
-
Homework #9
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon Apr 6 2009
Open book & open notes but not open neighbor nor open laptop
-
Homework #10
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon Apr 13 2009
Open book & open notes but not open neighbor nor open laptop
-
Homework #11
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon Apr 20 2009
Open book & open notes but not open neighbor nor open laptop
-
Homework #12
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon Apr 27 2009
Open book & open notes but not open neighbor nor open laptop
-
Homework #13
PDF
PostScript
Quiz in lecture 9:30-9:45am Mon May 4 2009
Open book & open notes but not open neighbor nor open laptop
Short Programming Assignments
(worth 10% of overall grade)
Please note that each
CodeLab
assignment consists of
MULTIPLE EXERCISES.
To find out which ones are coming due shortly,
SORT THE EXERCISES BY DEADLINE.
-
TuringsCraft Website
-
-
How to Purchase CodeLab
PDF
PostScript
-
Short Programming Assignment #1 (CodeLab)
4 exercises
Due by 9:30am Fri Jan 30
-
Short Programming Assignment #2 (CodeLab)
1 exercise
Due by 9:30am Fri Feb 6
-
Short Programming Assignment #3 (CodeLab)
17 exercises
Due by 9:30am Fri Feb 13
-
Short Programming Assignment #4 (CodeLab)
9 exercises
Due by 9:30am Fri Feb 20
-
Short Programming Assignment #5 (CodeLab)
7 exercises
Due by 9:30am Fri Feb 27
-
Short Programming Assignment #6 (CodeLab)
9 exercises
Due by 9:30am Fri March 6
-
Short Programming Assignment #7 (CodeLab)
13 exercises
Due by 9:30am Fri March 13
-
Short Programming Assignment #8 (CodeLab)
11 exercises
Due by 9:30am Fri March 27
-
Short Programming Assignment #9 (CodeLab)
20 exercises
Due by 9:30am Fri Apr 3
-
Short Programming Assignment #10 (CodeLab)
26 exercises
Due by 9:30am Fri Apr 10
-
Short Programming Assignment #11 (CodeLab)
28 exercises
Due by 9:30am Fri Apr 17
-
Short Programming Assignment #12 (CodeLab)
17 exercises
Due by 9:30am Fri Apr 24
-
Short Programming Assignment #13 (CodeLab)
16 exercises
Due by 9:30am Fri May 1
Programming Projects (worth 45% of overall grade)
-
Programming Project #1: Thinking of a Number
PDF
PostScript
Due in lecture by 10:20am Wed Feb 4 2009
-
Programming Project #2: Census
PDF
PostScript
Due in lecture by 10:20am Wed Feb 18 2009
-
Programming Project #3: Three Little Calculations
PDF
PostScript
Due in lecture by 10:20am Wed March 4 2009
-
Programming Project #4: Italian Restaurant
PDF
PostScript
Due in lecture by 10:20am Wed March 25 2009
How to Comment if Blocks
PDF
PostScript
-
Mini Programming Project #3 1/2: Raising Clowns
PDF
PostScript
Due in lecture by 10:20am Wed Apr 1 2009
-
Programming Project #5: Big Statistics
PDF
PostScript
Due in lecture Wed Apr 15 2009
-
Programming Project #6: Big Statistics Functions
PDF
PostScript
Due in lecture Wed Apr 29 2009
Exams
-
In-Class Exams (together worth 15% of overall grade)
-
Wed March 4, 9:30-10:20am, SEC A235
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
-
Wed Apr 8, 9:30-10:20am, SEC A235
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
-
Comprehensive Final Exam (worth 10% of overall grade)
Thu May 14, 8:00-10:00am, SEC A235
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
USEFUL INFORMATION
Staff Quick-find
| Henry Neeman |
|
webpage |
| Maruf Huq |
|
| Moshe Gutman |
|
| Tachun Lin |
|
This webpage: http://cs1313.ou.edu/