CS 1313 010 Fall 2007
Programming for Non-majors
University of Oklahoma
ANNOUNCEMENTS
If you need help with
CodeLab,
send
e-mail to CodeLab Support.
Pending Events & Deadlines
Comprehensive Final Exam
Tue Dec 11, 8:00-10:00am, Dale Hall 122
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
SYLLABUS
LECTURES
Monday/Wednesday/Friday 10:30-11:20am
Dale Hall 122
Click
here
for a campus map.
CS1313 HELP SESSIONS WITH INSTRUCTOR
Mondays 1:00-3:00pm and Tuesdays 9:00-10:30am
starting Mon Aug 27 & Tue Aug 28
Held in
Carson Engineering Center 205
Click
here
for a campus map.
OTHER HELP SESSIONS WITH INSTRUCTOR
Mondays 3:00-5:00pm in Carson 205
and
Thursdays 3:00-5:00pm in Carson S-18,
starting Mon Aug 27 & Thu Aug 30
Note that Carson S-18
is in the sub-basement.
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 Stephenson)
BY APPOINTMENT ONLY, MADE AT LEAST 24 HOURS IN ADVANCE
CONTACTING THE INSTRUCTOR AND THE TAs
Please contact Dr. Neeman and the TAs by
e-mail
unless it's an emergency.
When contacting one, unless it's a personal matter,
please contact
ALL THREE
(instructor and both TAs).
Please
DON'T
call the
main offices of
the
School of Computer Science,
OU Information Technology,
the
Stephenson
Research & Technology Center
or
the
Center for
Analysis & Prediction of Storms
UNDER ANY CIRCUMSTANCES.
LAB SECTIONS
Fridays in Carson
Attendance is
MANDATORY.
Click
here
for a campus map.
-
Section 011: Fridays Carson S-18 9:30 - 10:20am
(Tim)
-
Section 012: Fridays Carson 206 11:30am - 12:20pm
(Tim)
-
Section 013: Fridays Carson 206 12:30 - 1:20pm
(Cory)
-
Section 014: Fridays Carson 206 1:30 - 2:20pm
(Cory)
Note that Carson S-18 (Section 011, Fridays 9:30-10:20am)
is in the sub-basement.
TA HELP SESSIONS
Held in
Engineering Lab 158
(SE corner of Asp & Felgar,
across Asp from the Union)
Click
here
for a campus map.
tLI>
Tim Phillips:
Mondays 8:30-10:00am
starting Mon Aug 27
and
Tuesdays 3:30-5:00pm
starting Tue Aug 28
-
Cory Jones:
Wednesdays 9:00-10:30am
starting Wed Aug 29
and
Thursdays 1:30-3:00pm
starting Thu Aug 30
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 Aug 31 unless otherwise announced)
-
MANDATORY Lab Attendance (10%)
starting Fri Aug 24
-
Weekly Quizzes (10%):
every Monday
10:30-10:45am,
starting Mon Aug 27,
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 Sep 19, 10:30-11:20am, Dale Hall 122
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
-
Wed Oct 24, 10:30-11:20am, Dale Hall 122
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
-
Comprehensive Final Exam (10%):
Tue Dec 11, 8:00-10:00am, Dale Hall 122
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
Recommended work:
Homeworks will be assigned every week,
starting Mon Aug 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 Aug 24,
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 to 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
(e.g., religious observance as mentioned below),
then you must provide WRITTEN DOCUMENTATION of your situation
BY 11:20AM WEDNESDAY AUGUST 29.
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
or Engineering Open House
(see below for listing).
-
Because of the OU-Texas holiday on Fri Oct 5
and Engineering Open House on Fri Nov 2,
there will be neither lectures nor lab sessions on
those days.
-
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 11:20am on the due date
(or at any earlier time)
-
20% deducted for every lecture session late (after 11:20am)
-
EXAMPLE:
If a programming project is due by 11:20am Wed Oct 10, then ...
-
If you turn it in by 11:20am Wed Oct 10,
then there is no lateness penalty.
-
If you turn it in 11:21am Wed Oct 10 through 11:20am Fri Oct 12,
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 11:21am Fri Oct 12 through 11:20am Mon Oct 15,
then you will lose 40% of its value right off the top.
-
If you turn it in 11:21am Mon Oct 15 through 11:20am Wed Oct 17,
then you will lose 60% of its value right off the top.
-
If you turn it in 11:21am Wed Oct 17 through 11:20am Fri Oct 19,
then you will lose 80% of its value right off the top.
-
If you turn it in after 11:20am Fri Oct 19,
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
11:20am Fri Dec 7
except by arrangement made by no later than
11:20am Wed Dec 5.
-
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
(e.g., 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
(i.e., 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 Aug 24 is the last day to add CS1313.
-
Withdrawal from CS1313
-
Through Fri Aug 31:
no grade recorded if dropped
-
Tue Sep 4 - Fri Sep 28:
automatic grade of W
-
Mon Oct 1 - Fri Oct 26:
grade of W or F (based on assignments graded to date)
-
Mon Oct 29 - Fri Dec 7:
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 Oct 1,
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 matter
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)
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 absences of students
that result from religion observances
and to provide without penalty
for the rescheduling of examinations
and additional required classwork
that may fall on religious holidays.
-- OU Norman Campus Faculty Handbook, August 2007
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
Coming soon
-
Computer Organization
-
C Introduction
PowerPoint
PDF
-
Data & Expressions
- Branching (
if)
-
Idiotproofing
PowerPoint
PDF
-
Loops
-
Arrays
-
User-Defined Functions
-
Characters & Strings
-
File I/O
PowerPoint
PDF
-
Bit Representation
-
Pointers
-
User-Defined Data Types (
struct)
PowerPoint
PDF
Homeworks
(quizzes on these are worth 10% of overall grade.)
-
Homework #1
PDF
PostScript
Quiz in lecture 10:30-10:45am Mon Aug 27 2007
Open book & open notes but not open neighbor nor open laptop
-
Homework #2
PDF
PostScript
Quiz in lecture 10:30-10:45am Wed Sep 5 2007
Open book & open notes but not open neighbor nor open laptop
-
Homework #3
PDF
PostScript
Quiz in lecture 10:30-10:45am Mon Sep 10 2007
Open book & open notes but not open neighbor nor open laptop
-
Homework #4
PDF
PostScript
Quiz in lecture 10:30-10:45am Mon Sep 17 2007
Open book & open notes but not open neighbor nor open laptop
-
Homework #5
PDF
PostScript
Quiz in lecture 10:30-10:45am Mon Sep 24 2007
Open book & open notes but not open neighbor nor open laptop
-
Homework #6
PDF
PostScript
Quiz in lecture 10:30-10:45am Mon Oct 1 2007
Open book & open notes but not open neighbor nor open laptop
-
Homework #7
PDF
PostScript
Quiz in lecture 10:30-10:45am Mon Oct 8 2007
Open book & open notes but not open neighbor nor open laptop
-
Homework #8
PDF
PostScript
Quiz in lecture 10:30-10:45am Mon Oct 15 2007
Open book & open notes but not open neighbor nor open laptop
-
Homework #9
PDF
PostScript
Quiz in lecture 10:30-10:45am Wed Oct 22 2007
Open book & open notes but not open neighbor nor open laptop
-
Homework #10
PDF
PostScript
Quiz in lecture 10:30-10:45am Mon Oct 29 2007
Open book & open notes but not open neighbor nor open laptop
-
Homework #11
PDF
PostScript
Quiz in lecture 10:30-10:45am Mon Nov 5 2007
Open book & open notes but not open neighbor nor open laptop
-
Homework #12
PDF
PostScript
Quiz in lecture 10:30-10:45am Mon Nov 12 2007
Open book & open notes but not open neighbor nor open laptop
-
Homework #13
PDF
PostScript
Quiz in lecture 10:30-10:45am Mon Nov 19 2007
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
-
Send
e-mail to CodeLab Support
-
How to Purchase CodeLab
PDF
PostScript
-
Short Programming Assignment #1 (CodeLab)
4 exercises
Due by 10:30am Fri Aug 31
-
Short Programming Assignment #2 (CodeLab)
12 exercises
Due by 10:30am Fri Sep 7
-
Short Programming Assignment #3 (CodeLab)
7 exercises
Due by 10:30am Fri Sep 14
-
Short Programming Assignment #4 (CodeLab)
4 exercises
Due by 10:30am Fri Sep 21
-
Short Programming Assignment #5 (CodeLab)
15 exercises
Due by 10:30am Fri Sep 28
-
Short Programming Assignment #6 (CodeLab)
20 exercises
Due by 10:30am Wed Oct 3 (officially),
but lateness penalty waived through 10:30am Fri Oct 5 (OU-Texas Day)
-
Short Programming Assignment #7 (CodeLab)
7 exercises
Due by 10:30am Fri Oct 12
-
Short Programming Assignment #8 (CodeLab)
18 exercises
Due by 10:30am Fri Oct 19
-
Short Programming Assignment #9 (CodeLab)
21 exercises
Due by 10:30am Fri Oct 26
-
Short Programming Assignment #10 (CodeLab)
9 exercises
Due by 10:30am Wed Oct 31 (officially),
but lateness penalty waived through 10:30am Fri Nov 2
(Engineering Open House)
-
Short Programming Assignment #11 (CodeLab)
15 exercises
Due by 10:30am Fri Nov 9
-
Short Programming Assignment #12 (CodeLab)
14 exercises
Due by 10:30am Wed Nov 14 (officially),
but lateness penalty waived through 10:30am Fri Nov 16
(Statehood Day)
-
Short Programming Assignment #13 (CodeLab)
16 exercises
Due by 10:30am Fri Nov 30
-
Short Programming Assignment #14 (CodeLab)
16 exercises
Due by 10:30am Fri Dec 7
Programming Projects (worth 45% of overall grade)
-
Programming Project 1: Thinking of a Number
PDF
PostScript
Due in lecture by 11:20am Wed Sep 5 2007
-
Programming Project 2: Census
PDF
PostScript
Due in lecture by 11:20am Wed Sep 12 2007
-
Programming Project 3: Three Little Calculations
PDF
PostScript
Due in lecture by 11:20am Wed Sep 26 2007
-
Programming Project 4: Mexican Restaurant
PDF
PostScript
Due in lecture by 11:20am Wed Oct 17 2007
How to Comment if Blocks
PDF
PostScript
-
Mini Programming Project 3 1/2: Raising Clowns
PDF
PostScript
Due in lecture by 11:20am Fri Oct 26 2007
-
Programming Project 5: Sports Scores
PDF
PostScript
Due in lecture Wed Nov 7 2007
-
Programming Project 6: Sports Scores Functions
PDF
PostScript
Due in lecture Wed Nov 28 2007
Exams
-
In-Class Exams (together worth 15% of overall grade)
-
Wed Sep 19, 10:30-11:20am, Dale Hall 122
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
-
Wed Oct 24, 10:30-11:20am, Dale Hall 122
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
-
Comprehensive Final Exam (worth 10% of overall grade)
Tue Dec 11, 8:00-10:00am, Dale Hall 122
Open book & open notes but not open neighbor nor open laptop
UNLESS OTHERWISE ANNOUNCED
USEFUL INFORMATION
Staff Quick-find
This webpage: http://cs1313.ou.edu/