CS1110 - Computer Science I - ...

advertisement
CS1110 - Computer Science I - Spring 2016
Syllabus & Policies
Instructor Dr. Kaminski Office: B247 Email: donna.kaminski@wmich.edu
“Office” Hours: Thurs 2:15-3:30 & briefly after class in classroom
Course Website (Dr. Kaminski’s 2 sections) homepages.wmich.edu/~kaminski/1110
Class Meetings - all in room C224 - you MUST be registered for 1 lecture & 1 lab
Lectures:
Tues/Thurs
11:30-12:45
Dr. KAMINSKI
Tues/Thurs
1:00 - 2:15
Dr. KAMINSKI
Mon/Wed
4:00 – 5:15 Dr. GUPTA
Labs:
Monday
11:30am - 1:20pm
Tuesday
2:30pm - 4:20pm
Wednesday
8:30am -10:20am
Wednesday
6:30pm - 8:20pm
Required Texts
1. Starting Out with Java – From Control Structures through Objects **CS 1110
Textbook**, by Tony Gaddis, Pearson CUSTOM – Computer Science, (2013)
ISBN 10: 1269046780; ISBN 13: 9781269046787, Pearson Learning Solutions,
Boston, MA.
2. Pearson’s MyProgrammingLab is bundled with the custom book at the WMU
bookstore. If you have purchased the full book or a used custom book, you
may have to purchase the access code for MyProgrammingLab separately.
Catalog Description
“A first course in the science of programming digital computers. Analysis of
problems and development of correct procedures for their solution will be
emphasized along with the expression of algorithmic solutions to problems in a
structured high-level computer language. Applications will solve both numerical and
non-numerical problems for the computer. Co-requisite: MATH 1180 (or beyond
that level of math)”.
Programming Language & Environment
Java programming language and the NetBeans environment will be used for the
course this semester.
Prerequisites
No prior programming experience is expected. It’s assumed that you are
comfortable using a Windows-based computer environment (used in the
classroom/lab), installing software on your own machine, working with files and
folders, etc. Those with prior programming experience (in any language) or who’ve
had a programming logic course will find many familiar concepts and find this
course somewhat easier than those new to programming.
E-Learning & Course Website
WMU E-Learning will be used to manage much of the course, such as disseminating
information outside of class and posting assignments, quizzes and readings. It will
also be used to track grades, giving you on-line access to your scores. Your
instructor may also use his/her course website to post assigned readings, in-class
examples and lab-tasks.
E-mail
Read your WMU email regularly. Instructors may notify their class of changes in
assignment specs or deadlines, cancelled classes due to weather or instructor
illness, etc. Also, if you email your instructor, always use your @wmich account and
a descriptive subject starting with CS1110 – otherwise you may not get a timely
response to your email.
Attendance
You are expected to attend every lecture and every lab, arrive on-time, stay the
whole class period and actively participate in the in-class activities. In lecture, your
instructor will generally show new programming concepts by developing or showing
program examples, with students following along (e.g., downloading and running
these examples on their own lab workstation). Most lecture sessions will also have
students doing small programming tasks. Attendance may be monitored by using
an attendance sheet or by quizzes or in-class activities submitted during that class.
Course Outcomes
Students who complete this course with a grade of “C” or better should be able to:
1) consistently follow a problem solving process;
o Understand, design, implement, & test
2) read, develop, and implement algorithms to solve simple problems;
o Define, recognize, design, and implement algorithms (pseudo code)
3) understand and use basic concepts of high-level language procedural
programming;
o Main program, Declarations, Assignment-statements, I/O-statements,
Selection-statements, Loop-statements, Method Call-statements,
Statements vs. Expressions
4) understand and use basic concepts of OOP;
5) consistently document programs effectively and efficiently;
o Program Identification, Sectional Comments, Side-by-Side Comments,
Redundant vs. Non -redundant Comments, Use of white-space and
indentation, Use of readable identifiers
6) understand and use basic components of an integrated development
environment (IDE);
2
o Context-sensitive Editor, Build/Compile, Execute, Symbolic Debugger
7) know the basic phases of the software life cycle & software development cycle;
o Concept, Development, Maintenance, Retirement
o Requirements, Design, Code & Debug, Test
8) know basic introductory searching and sorting algorithms;
o Linear and binary search;
o Selection and insertion sort;
9) gain an initial and elementary understanding of algorithm complexity;
o Big O Notation
Academic Requirements
1. exams (40% of final grade) – in LECTURE
a. two midterm exams (each 10% of final grade)
b. a final exam (20% of final grade)
2. quizzes, programming tasks, MyProgrammingLab exercises (10% of final grade)
- in LECTURE - the two lowest (or missed) quizzes/tasks/exercises will be
dropped.
3. programming assignments & related lab work (50% of final grade) - in LAB.
This consists of:
a. eight to ten programming assignments (~600 points – 50-100 pts each)
started in lab and finished as homework afterwards.
b. pre-lab or in-lab quizzes/tasks (~50 points – 5 points each)
c. two in-lab tests (programs) (~100 points)
The course instructor reserves the right to adjust course requirements should
special unforeseen circumstances arise during the semester.
Your final grade for the course will use the following % of point totals:
A (90-100%)
C (70-74%)
BA (85-89%)
DC (65-69%)
B (80-84%)
D (60-64%)
CB (75-79%)
E less than 60%
NOTE: CS majors, CS minors and CSE majors need at least a “C” grade in this course
in order to proceed to CS1120, since CS1110 is its prerequisite.
Quizzes, Programming Tasks, MyProgrammingLab Exercises
Points will be given for in-lecture activities. Quizzes or programming tasks may
consist of writing a short program, adding a chunk of code to an existing program or
making corrections to an existing program. The work may occur during the lecture
session, between two lectures or across several lectures (i.e., homework). Your
instructor will explain graded tasks prior to or as they occur. These points are
associated with lecture work, not with lab work. No “make-up’s” for these activities
will be provided if you are absent or do not submit them at the designated time.
Assignment Submission & Due Dates/Times
Assignments must be submitted to your lab instructor electronically through ELearning. (Lab instructors will explain the procedure). Assignments will NOT BE
ACCEPTED VIA EMAIL. Submission dates/times will be posted. Assignments will
NOT BE ACCEPTED LATE (except under valid, documented, extreme circumstances –
see your lab instructor for his/her policy on this).
Programming Help with Assignments
Start work on assignments as soon as they are given out to leave enough time
before the due date to deal with unexpected problems and bugs (which always
come up) – allowing time to get help. Get one-on-one help from:
your lab instructor during your lab session (though he/she has 20+
other students who may also want help)
your lab instructor during his/her “office” hours
one of the other lab instructors during his/her “office” hours
CS tutor at Student Success Centers, evenings on main campus (in
several dorms) – see http://www.wmich.edu/step/peermentors.php .
Lab instructors do NOT generally handle your programming problems and
debugging issues via email – it’s always easier to help with programming issues IN
PERSON. Your lecture instructor may not always be familiar with all the details of
the assignments – so see LAB instructors for help on assignments.
Grading of Programming Assignments
Programming assignments will be graded using established rubrics for
grading programming solutions. Correct output (formatted as described in the
assignment specs) is of primary concern – although using the designated,
appropriate programming concepts and format will also affect your grade. No
credit will be given for a program that does not “build” (compile), a program that
“crashes” before solving any of the problem assigned, or a program that produces
no viewable-output. While a program consisting of several hundred lines of code
represents a large amount of work, if the program doesn’t compile, run, and solve
the problem (at least partially) it will receive NO points.
To avoid this pitfall, build your programs incrementally (i.e., piece by
piece), always keeping the program in a working state which produces SOME
output, and gradually build it to completion. This approach helps because if you’ve
written a working program consisting of several components, and then add one
more component resulting in a non-working program, chances are that the error is
in the most recently added component.
3
Lab-Tests & Exams
Unless otherwise stated in advance, exams and lab-tests will be closed book, closed
notes, with NO calculators/computers/tablets/phones allowed and NO bathroombreaks allowed. Exams/lab-tests are cumulative (i.e., they cover topics from the
beginning of the course up to the time of the exam/test). You are responsible for
the material even if you are absent or late for class. Exam/lab-test dates will be
announced in class and on the course website.
For the 3 in-lecture exams, you may bring one sheet of 8.5”x11” handwritten notes. Exams are based on the material in the textbook, including
questions at the ends of chapters, in-class/website/E-Learning discussions and
examples and assigned external readings/research, if any.
The 2 lab-tests will require you to write a working program on the lab
computer, completing it within the allotted time in lab.
IF YOU MISS AN EXAM or LAB-TEST at the scheduled day/time, you will
receive a 0 for that exam/test. If an emergency arises causing you to miss an
exam/lab-test AND you have sufficient WRITTEN documentation of the situation
(verbal stories do NOT suffice), then alternative arrangements may be made for
handing the exam/lab-test.
If you violate academic honesty while taking an exam or lab-test, the
situation will be handled according to the WMU Academic Integrity statement
included below. The penalty for academic dishonesty in this course is an ‘E’ grade
for the course.
Course Etiquette
The classroom is a computer lab which allows students to follow along with the
instructor’s example programs and to do assigned programming tasks on their lab
machine. However, you may NOT use the lab computers (nor your own laptop)
during class FOR ANY OTHER PURPOSE. Once class starts there must be NO: WEB
SURFING, TEXTING, CHECKING EMAIL/FACEBOOK, MAKING/RECEIVING PHONE
CALLS, GAME-PLAYING, WORKING ON OTHER CLASSES, WORKING ON CS1110
ASSIGNMENTS, etc. It is inappropriate, counter-productive to learning, rude and
distracting to the instructor and fellow students. You will be asked to leave the
class if you do not show appropriate behavior in class.
You are expected to come to class on time, be attentive in class, follow
along with the examples as presented by the instructor, stay for the entire class
period and work on the projects which the instructor designates. (In lab, you may
leave early if you have ALREADY fully completed and submitted the assignment and
all scheduled lab activities for that day). Do NOT temporarily leave in the middle of
class to make a phone call or visit the restroom (except in an emergency, but
certainly do NOT take a break during an exam or quiz). No eating or drinking is
allowed in any computer lab; no headphones during class, and turn off your cell
phone.
Course Philosophy
This course is aimed at college freshmen and other students seeking a basic
knowledge of computer programming. As a freshman level course it has two types
of goals: 1) to develop basic knowledge, skills, and attitudes relating to students of
computing and computer science, and 2) to develop basic knowledge, skills, and
attitudes for general college level academic life and professional work life beyond.
The course is very structured, as is appropriate for freshmen. Like most college
courses, this course requires students to take responsibility for their own learning.
The course follows a strict schedule of reading, writing, assignments and quizzes.
Each week a chapter or part of a chapter of the textbook will be covered. Students
are expected to read the material and review the exercises BEFORE coming to class.
The reading, program writing, and exam schedule is fixed. Students are required to
develop the discipline to follow the schedule.
As is typical of many college courses, this course will require one or more tests
during the term and a comprehensive final examination.
Classroom activities, unlike the readings and quizzes, are somewhat less
structured. This allows for tangents in discussions, the use of occasional visiting
guests, unforeseen instructor absences, holidays, etc. The flexibility of the
classroom does not tie students or instructor to the textbook readings, but does
complement and enhance those readings. Students are responsible for material in
the textbook, whether or not the material is addressed in the classroom. Students
are also responsible for material and skills presented or discussed in class.
If you have difficulty meeting the academic requirements, contact your
instructor using e-mail, as soon as possible before or immediately after the problem
occurs. Contact your instructor if you will miss or be late for a class meeting, if you
have material submission problems, miss or anticipate missing course deadlines, or
have personal problems that affect your work in this class. HOWEVER, just because
you notify your instructor does NOT mean that you will necessarily be given deadline
extensions.
4
Incomplete (‘I’) Grade Policy
A grade of “I” (Incomplete) will be issued ONLY IF
1) you could not complete the course as a result of some situation outside of your
control,
2) AND you provide written documentation of the situation,
3) AND you had a passing grade at the time you requested the incomplete grade,
4) AND the work remaining to be completed is minimal.
A grade of “I” allowed as a replacement for a low or failing grade.
Note that it’s generally better to request a special withdrawal from all
classes (from the Registrar’s Office), rather than to request ‘I’ grades in courses,
since all work needed to make up the incomplete is done without getting course
credit for that new semester. And generally, students are also registered for other
courses in that new semester – so making up the incomplete work is “overtime”
(and may lead to poor work in those other courses).
Important Dates
See WMU Academic Calendar for holidays, drop dates, and other dates relevant to
your academic scheduling: http://www.wmich.edu/registrar/calendars/academic/
Disability Services for Students (DSS)
Both in compliance with and in the spirit of the Americans with Disabilities Act
(ADA), we would like to work with you if you have a disability that is relevant to
your work in this class. If you have a documented disability and wish to discuss
academic accommodations, please contact your instructor in a timely fashion with
your DSS verification card. You may also contact the Office of Disability Services for
Students if you need to register with the DSS office, 269-387-2116 (or at
www.wmich.edu/disabilityservices).
Academic Integrity
You are responsible for making yourself aware of and understanding the University
policies and procedures that pertain to Academic Honesty. These policies include
cheating, fabrication, falsification and forgery, multiple submission, plagiarism,
complicity and computer misuse. (The academic policies addressing Student Rights
and Responsibilities can be found in the Undergraduate Catalog at
http://catalog.wmich.edu/content.php?catoid=22&navoid=882). If there is reason
to believe you have been involved in academic dishonesty, you will be referred to
the Office of Student Conduct. You will be given the opportunity to review the
charge(s) and if you believe you are not responsible, you will have the opportunity
for a hearing. You should consult with your instructor if you are uncertain about an
issue of academic honesty prior to the submission of an assignment or test.
Students who take this class must be prepared to submit electronic copies
of some or all assignments. The University expects that all students will be
evaluated and graded on their own work. If you use language, data or ideas from
other sources, published or unpublished, you must take care to acknowledge and
properly cite those sources. Failure to do so constitutes plagiarism.
Throughout the term you will be required to write computer programs to
solve problems. Unless assigned as a joint project, these are to be YOUR OWN
WORK! Learning can certainly take place through discussions regarding
programming assignments, and you may ask for hints, ideas, or help with debugging
code that you have written; however, when discussion is occurring, CODING OR
TAKING NOTES IN ANY FORM SHOULD NOT TAKE PLACE DURING THAT DISCUSSION.
You are to write code COMPLETELY by yourself for problem solutions. Here are
additional rules to follow, when writing your solutions:
• Do not look at or copy code that someone else has written for the
same or similar solution.
• Do not give your code in part or whole, either in hardcopy or
electronic form, to anyone else.
• Do not put yourself in a position of having access to another person’s
files.
• Do not give another person access to your files.
A GOOD PRACTICE TO FOLLOW: When you discuss a program, don’t take notes.
After the discussion play a computer game, watch an episode of your favorite TV
show, or participate in some activity not associated with the assignment. After you
have done this, then program your solution ON YOUR OWN.
Download