FUNDAMENTALS OF COMPUTER SCIENCE II
CSc 102 COURSE SYLLABUS SPRING 2016
Instructor: Dr. John Dalbey | Office: 14-203 |
Phone: 756-2921 SMS to email: (805) 776-3543 |
Office Hours: MW 1500 Tu 1100 Th 1400 |
CSc Dept: 756-2824 | E-mail: |
Basic design, implementation, testing, and documentation of object-oriented software. Introduction to classes, interfaces, inheritance, algorithms (sort, search, recursion), data structures, abstract data types (lists, stacks, queues), file I/O, exceptions, and Graphical User Interfaces. 3 lectures, 1 laboratory. Prerequisite: CSC/CPE 101 with a C- grade or better and either MATH 141 or MATH 221 with a C- grade or better.
The class meets at two different times: lecture and lab. During
the lecture component we will meet as a large group to discuss the
course concepts. Sometimes we will break into small groups to work
exercises. The lab meetings are for hands-on work with the
computer, applying the concepts from lecture. At each lab meeting
there will be specific activities to complete.
Readings
There will be assigned readings in the textbook and other
resources. The readings are to be completed by the date
shown on the calendar. Not all material in the reading will
be covered in lecture or lab but you are still responsible for
knowing it for quizzes and exams. Come to class prepared
with any questions from the reading that you would like addressed.
Homework
The purpose of the lab is to explore and experiment with the
concepts introduced during the lecture. During the lab hour you
will complete structured hands-on activities on the
computer.
All labs activities are completed by a team of two, and thus
attendance is required during the lab. Partners will be assigned
each week by the instructor. You must arrive on time and
participate fully in order to receive credit for the
lab. Labs are graded credit/no credit.
Programming projects are where you will demonstrate your software
development skills and your ability to apply the course concepts.
You will be given a software specification and you need to write a
design and implement the solution. Your projects will be graded on
their functionality as well as design and coding quality. You must
work on the projects outside of class time. You can use computing
facilities of the university, or you can choose to work at
home.
Unless otherwise stated in the assignment, the projects are an individual
assignment. Collaboration of any kind is not
allowed. (See below.)
You may choose from any of the programming projects at the end of
each chapter or from this supplemental
list.
Projects are submitted on a weekly basis. You are limited to projects from the chapters read that week (or later). The due time is 6pm Sunday. You must submit three projects each week.
Follow the Project Submission
Directions.
Each project is graded credit / no credit based on functionality,
usability, maintainability, and efficiency. Each project for
which you receive credit counts 1% toward your final course grade.
To earn a passing grade in the course you must:
Exams
There will be one midterm examination and a comprehensive final
examination. The midterm exam is a written closed book
exam that takes place during lecture hour. The midterm exam
questions are taken from the textbook (Learning Objectives,
Self-check, Review, and Programming Exercises) and the lab
activities.
The final exam is a common final, collaboratively written by all
the CPE 102 instructors. If your cumulative score in the
course before the final exam is so low that earning 100% on the
final would not enable you to pass, you are not eligible to take
the final.
Lab Quizzes
There will be five lab quizzes. The quiz is an in-class practical
hands-on exam administered during lab hour. The
quizzes will be similar to the lab activities. You will
be required to demonstrate some programming skill on the
computer. Lab quizzes are closed book, notes will be
allowed, closed-source, closed-web. The lowest score
of the five will be dropped.
Please work the Sample Lab Quiz.
Skill prerequisites:
Login to a working account on the CSL workstations.
Download files from the web using a web browser or Unix command.
Upload files from a workstation to your CSL account using a file
transfer program.
Remotely login to your CSL account using Secure Shell.
Navigate the file hierarchy of your Unix account.
Extra Credit
If you complete the programming project requirements (above) you
may consult with the instructor about extra credit.
Percent | |
Lab Activities | 15 |
Programs | 30 |
Lab Quizzes | 15 |
Midterms | 15 |
Final exam | 25 |
TOTAL | 100 |
Letter Grades are determined on a straight percentage basis, as follows:
A 85% -
100%, B 75%-84%,
C
65%-74%, D
55%-64%, F 54% and
below
NOTE: You must earn a grade of C- or better to be able to
enroll in CSc 103.
(The instructor may scale these ranges as appropriate).
Borderline scores will receive a Plus/Minus grade.
ATTENDANCE
Missed labs can not be "made up." If you miss a lab, you get a zero for the lab. If you arrive more than five minutes late to lab, you get a zero for the lab. Labs are important learning activities that are completed with a partner so your attendance is mandatory. For every two unexcused lab absences your grade drops one-half of a letter grade.DEADLINES
Due dates for labs and
projects are described above.
If you anticipate some unexpected circumstances will prevent you from submitting your assignment before the deadline, you may request an extension. Send an email message to the instructor before the due time asking for an extension of the due date. (Use a subject line of "Extension request".) You don't need to provide a reason or justification. (Limit: 2 extensions). The default extension is 24 hours, but you may ask for more.
Most labs and projects will be submitted electronically to PolyLearn. Your work will be time stamped automatically when you submit it. Work which is received late, even by one second, receives no credit.This course involves both individual work and collaborative work. It is your responsibility to understand the guidelines that apply to each kind of work, and to be clear about which assignments are individual assignments and which are collaborative.
Activities not designated as cooperative assignments in this course are to be done individually. Individual work is to be carried out entirely and solely by an individual. You may not "work together" on individual assignments. The content of the assignment is not to be discussed or shared in any way with other students. There is to be no conversation about individual assignments except with the instructor or a department-designated tutor. This policy will be rigorously enforced. Programs will be checked for plagiarism using both computer and human similarity checkers. Take extreme precautions that your individual work is not viewed by other students. This includes deleting all your computer files from public workstations when you are finished, retaining private permissions on your Unix files, destroying printouts of source code, and not letting other students use your personal computer where you store your coursework.
In addition, the work you submit must be entirely your original creation. Using solutions from any other source is forbidden; in particular, using solutions (either instructors' or other students') from previous offerings of this or other courses is not allowed. Using solutions found on the Internet or getting help from online forums is not allowed.Assignments which appear to be the result of a "group effort", or appear to have been copied from another student, will be considered plagiarized. Violations of this policy may result in being failed from the course and a letter placed in your record at the Office of Judical Affairs.. See the campus statement on Academic Dishonesty: Cheating and Plagiarism (C.A.M. 684)
Most laboratory activities will be designated as team activities. Students will be assigned a partner to cooperate with to complete the lab activities. Be sure to use these cooperative activities as a chance to master the skills, as there will be quizzes in which each person must perform the skills individually. You may consult with other students on the lab activities.Students enrolled in this course are entitled to a computer
account in the computer science department labs. All the
labs share a common file system, and your username,
password, and home directory is the same in all labs. From
outside the lab you can use secure shell to login to unix1.csc.calpoly.edu
to access your files. If you do not already have an account, see
the instructor. Do not share the password or the account will be
frozen and you will be failed from the course.
A number of important class documents will be made available in electronic form (e.g. assignments, due dates). They can be accessed via a WWW browser through the link from the instructor's home page. These files should be considered as evolving documents, as they will be refined and updated as the course proceeds. You may access documents on the course web site only via hyperlinks. You are not authorized to view other documents that may exist but have no hyperlink to them.
Occasionally the instructor will mail announcements to the entire class by using an alias which sends mail to your Cal Poly mail account. If you don't use your Cal Poly account regularly, you should set it up to forward your mail to your regular email account.
Computer Science majors are expected to be proficient with tools of their trade such as e-mail and backups. Excuses such as "my email account was down" or "my hard drive crashed" are not likely to gain much sympathy.
The instructor will not read email whose "Sender" field is not an actual student name. Don't use nicknames in mail you send to the instructor or it will be returned to you unread.
Students are expected to learn and abide by the principles of ethical use of computers as determined by the ACM (Assoc. for Computing Machinery) Code of Ethics and Professional Conduct, the Campus computing and Communication Policies, Calif. state laws (see Penal Code Section 502), and federal laws.
GETTING ASSISTANCE
Study Groups:
The university organizes study groups
for this course.
Tutoring:
Computer Science department is organizing free
tutoring for CPE101/102/103 courses.
Office hours:
One of the great benefits of attending Cal Poly, as opposed to a
University of California, is the opportunity to interact directly
with your instructors. You are invited to take advantage of this
opportunity by visiting the instructor during office hours, even
if you are not having difficulties with the course. Of course if
you are having difficulties, you should see the instructor as soon
as possible. If you need help with any form of programming
activity, you should bring a current hardcopy of your source
code. If schedule office hours are not convenient for you,
other times can be reserved by arrangement.
Email:
The instructor will read his email daily (except weekends) and
email is a good vehicle for certain kinds of communications.
Use e-mail to report errors on the class web site, to report
problems in your electronic submission, to clarify assignment
requirements, to reserve an appointment, to ask concise technical
questions, or to ask short questions that can be responded to with
a short answer (a sentence or two). Complex questions or
abstract questions are best dealt with in person. Many programming
problems, including debugging, are best handled during office
hours. It is probably not the best use of email to send your
entire program and say "I can't figure out what's
wrong."
HOW TO ADDRESS THE INSTRUCTOR
Frequently I've heard students address me and other professors by
last name without
honorific. They do
this completely unselfconsciously even
when they aren't that comfortable with first name address.
(e.g. students will call me "Dalbey", not "Mr. Dalbey" or "Dr.
Dalbey" when they would never call me "John." ).
In "my generation", no-honorific last-name address is permitted
only between people of common age and gender, between close
friends or within a military or athletic context. Buddies in
college would call me "Dalbey", and fellow athletes would call me
"Dalbey". But that's it. It's very analagous to "du"
address in German, or second-person address in Latin
languages. Being addressed as "Dalbey" by students feels
rude to me. My preferred form
of address is "Mr. Dalbey."
CLASSROOM CLIMATE
It is a core value of academic discourse to be tolerant of views
different than our own and to treat others with respect.
In addition, an atmosphere conducive to learning can be fostered
by minimizing distractions for others who are trying to
concentrate. Common courtesies include: