Uploaded by James

CS11 SU22 Syllabus

advertisement
CS-11 Introduction to Programming, C++
Syllabus
Learning Outcomes
1. Design elementary computer algorithms.
2. Develop small C++ programs that implement basic algorithmic designs.
3. Organize and document program code following the principles of software engineering.
Course Objectives
1. Analyze problems and develop computer algorithms to solve novel problems.
2. Write, document, test and debug C++ programs, making use of variables, expressions,
selection, and looping statements.
3. Organize program code into modules using functions following the software engineering
principles of modularity and abstraction.
4. Assemble data and functions into classes at an introductory level following the software
engineering principles of encapsulation and data hiding.
5. Make use of arrays and vectors to store and process lists of data.
6. Read, interpret, analyze, and explain introductory C++ programs.
7. Use editors to compose programming code and compilers to produce executable software.
Course description
Presents an introduction to computer programming using the C++ programming language
beginning with basic principles and progressing to object-oriented programs. Includes:
algorithms, data types, declarations, expressions, selection, repetition, functions, libraries,
arrays, classes, objects, files and streams.
Who Should Take This Course
Students who want to learn basic programming skills.
Students preparing for CS 19: C++ Programming.
Programmers who want to learn a smaller subset of C++ than CS 19, and at a slower pace.
Student Preparation
All students are requested to have an e-mail account. Please keep your email current in SelfService.
You need Internet access to view course materials, to turn in assignments, participate in class
discussion, and to take tests. Internet access is available in the CTC and STEM Center for all
students enrolled in this course.
Technical Skills
Students need technical skills in the following areas to be successful in this course:
Computer operation and program installation and configuration
File and folder (directory) management
Compressing and Uncompressing archives (.zip)
Text editing
Email usage
Web browser usage
Using an online CMS (such as Canvas) for discussion, exams, and assignments
use of an online, interactive textbook, such as Zybooks
(bonus skill) Binary number arithmetic and conversion between binary and decimal
Time Requirements
The time required per week will vary quite a bit between students depending on several
factors including your computer background. You should expect to spend about twelve hours
per week for this course.
Textbook and Course Materials
This class uses an online interactive text from Zybooks. Many of the class exercises and
course work come from this environment. This textbook is a required part of the course. Full
credit is awarded for work completed before the deadline, partial credit will be awarded at
instrcutor’s discretion for work completed late.
Responsibilities
Your responsibilities include the assigned Zybook sections, the recorded lab/lecture videos,
assignments, discussion, exams. Keeping up with the assigned work and the course lectures is
important for successful completion of the course. During the lab/lecture videos, I recommend
that you will take paper notes. You are responsible for maintaining the system(s) you use to
complete the course work, and for keeping backup copies of your work. Your participation in the
class discussion not only enhances your own learning, it benefits other students in the class.
Canvas
All course materials will be distributed through the class Canvas shell. Students will need to
go to Canvas frequently in order to obtain file downloads, submit completed work and to view
items of interest throughout the semester.
Grading Policies
Your final grade is weighted based on your performance in the following areas:
Zybook Exercises/Labs/etc.
40%
Assignments (programming projects)
30%
Midterm exam
8% – 10%
Final exam
10% – 12%
Class Participation (Discussion)
10%
Assignments
The programming assignments let you apply what you have learned to new situations, analyze
problems and see the patterns in the programming language. Assignments, including in-class
exercises and online labs, are due at the date and time shown in Canvas. I will generally
accept late assignments (up to one wek) for partial credit, and assignments that are turned in
one time may be re-submitted after the deadline to earn back some of the points lost on an
assignment. Some assignments have some extra-credit suggestions. Since we turn-in work
online, you can submit your programs from any computer connected to the Internet.
Midterm and Final exams
The midterm and final exams must be taken when scheduled, except by prior arrangement
with the instructor.
Grade interpretation
Grading within each area is based on the following scale:
A
90.0%–100%
B
80.0%–89.9%
C
70.0%–79.9%
D
60.0%–69.9%
F
0.0%–59.9%
Your scores (except for class participation) will be posted – either in Canvas or via some other
method and you are responsible for reviewing them frequently. Note that I have not setup
Canvas with the actual class grading paramteres, so you can view raw scores, but don’t trust
Canvas to report your overall grade. You’ll need to calculate that yourself. If you have
questions about problems you missed on any exercise or assignment, please see me right
away. I want to ensure both that you understand the material and that your grades are accurate
and fair.
Alternate Grading and Incompletes
Pass/No-Pass Option You may request a pass/no-pass grading option. If so, you must
complete the course work at a satisfactory (that is a "C") or better level to pass. For more
information, see the Cabrillo Academic Policies and Procedures document.
Incompletes
You may request an incomplete from the instructor if you are "doing
passing work and regularly attending at least 75% of a course, but are unable to take the final
exam (or otherwise complete the course) because of illness or other unforeseeable emergency
and justifiable reasons." (Quotation from the Academic Policies and Procedures document.)
Tutors
Tutors are often available in the CTC and in the STEM Center during the regular Fall and
Spring semesters. Tutor availability is limited durring the Summer. Tutors can provide a
valuable service by helping you learn the material. However, tutors do not help if they do the
work for you. Thus, you should not allow tutors to type code for you or tell you what to type.
Tutors can show you how to use computers and computer programs such as our compiler.
They can discuss problems and suggest ideas for solving problems. They can also look at your
code and point out errors. Tutors help you to learn the material, but must not write any code
for you. If a tutor writes code for your assignments, you are cheating.
Scholastic Honesty Policy
Scholastic dishonesty is any act designed to give an unfair or undeserved academic advantage.
Students who are scholastically dishonest hurt both themselves and other students. They rob
themselves of both the knowledge of the course and the experience of learning how to learn.
They harm other students as well because they may unfairly get a higher grade and nobody
can trust that the graduates of a course know the material.
Scholastic dishonesty includes:
Cheating: Intentionally violating the rules of the course by possessing, communicating, using,
or attempting to use unauthorized materials or to take actions that the instructor has
prohibited.
Plagiarism: Use of distinctive ideas, words or code belonging to another person, without
sufficiently acknowledging that person's contribution.
Collusion: Unauthorized collaboration with another person in the preparation of an academic
assignment offered for credit.
Misrepresenting facts: Providing false information for academic advantage such as claiming a
death in the family in order to postpone an exam or extend a deadline on an assignment, when
in fact there was no such problem.
For any work submitted in this course, you are not authorized to copy or use work from any
source unless it is specifically stated in the assignment instructions. If you use distinctive
ideas from another source, such as a book or the Internet, you must credit the source well
enough so that it is easy for the instructor to find. Note that the instructor may use various
services and tools to detect cheating by comparing your work with other students, books and
the web.
Any person caught cheating, colluding, plagiarizing or misrepresenting facts will be given a
grade of zero for the assignment or exam. The second offense, or a single severe violation,
will result in being dropped from the course or given a failing grade after the last drop time
has passed. These offenses may be reported to the Dean of Student Services for inclusion in
your academic record.
Assignment Integrity
In this course, you must personally complete the entire assignment yourself. To complete the
entire assignment means that you must write all your own program code. You may discuss
assignments with other people, but ultimately you must write the code yourself. Not writing
all the code yourself is cheating.
If the assignment seems too hard to complete without more help, then you should contact me.
My job is to help you understand the material. As an option, you may discuss your
assignment, and show your code to, another Cabrillo College Computer Science Instructor, if
they agree. Note that this list does not include tutors. Tutors must follow the same rules for
acceptable help as other non-students.
You may still help other students, and receive help from other students (or tutors), and I
encourage you to do so. The following lists are intended to help clarify the rules about
appropriate assistance for assignments:
Acceptable Help
Showing others how to use, or solve problems with, computer applications such as compilers,
text-editors and debuggers.
Discussing problems and ideas for solving problems with other students or tutors.
Describing your algorithms to other students using diagrams, psuedocode or natural-language
statements (unless that was the assigned homework).
Looking at another person's code and pointing out an error, as long as you do not write or type
any information, or dictate what program code to type or write.
Tip: if you need to write code when explaining a problem, then use an example that is not part
of the assignment.
Unacceptable Help
Typing or writing any project code (or other parts of a homework problem) for another
person, or allowing someone to type or write homework code for you.
Looking at another person's code while typing or writing your own project code.
Listening to someone else dictate project code for homework while typing or writing, or
dictating to some else the program code to type or write
Providing a copy of your assignment code, or any portion of your code, to any person other
than the instructor, including posting your code online or emailing it to someone, until after
the assignment due date has passed.
Communicating your answer for an assigned problem to anyone by any means until after the
assignment due date has passed.
Providing a copy of the instructor's posted solutions (or any solution) to another student, or
receiving a copy of the instructor's solution (or any non-original solution) before the
assignment due date.
These are not all-inclusive lists. Students are expected to interpret and apply the overall
concepts of accademic honesty in good faith. If you have questions about what is permissible,
please ask me.
Also, note that these rules do not prohibit you from sharing assignment solutions with other
students after an assignment is due and turned in. Reviewing other people's solutions can help
you learn, but only after you complete the assignment on your own.
Assessment Integrity
Cheating on exams includes, but is not limited to, the following:
Communicating with anyone but the testing proctor during the test period
Failing to comply with instructions given by the testing proctor
Copying from another student
Using, buying, stealing, soliciting for, or transporting some or all of the contents of a test or
test rubric
Substituting for another person, or permitting another person to substitute for oneself, in
taking a test
This is not an all-inclusive list. If you have questions about what is permissible, please ask
me.
Students automatically consent to re-take an exam, or an exam deemed to be equivalent by the
instructor, if the instructor has any question about the integrity of the results.
SEVEN KEYS FOR ACADEMIC SUCCESS
1.
Study With and Get to Know Other Students
2.
Use a Study Schedule and Time Management Strategies
3.
Come to Every Class Session
4.
Communicate with Your Instructor
5.
Expect to Use Textbooks and Readings
6.
Set Academic Goals
7.
Support Services Are Here for You - Free!
Find out more about the seven keys!
NONDISCRIMINATION AND ACCESSIBILITY NOTICE
The District is committed to equal opportunity in educational programs,
employment, and all access to institutional programs and activities. The District, and
each individual who represents the District, shall provide access to its services,
classes, and programs without regard to national origin, religion, age, gender,
gender identity, gender expression, race or ethnicity, color, medical condition,
genetic information, ancestry, sexual orientation, marital status, physical or mental
disability, pregnancy, or military and veteran status, or because he/she is perceived
to have one or more of the foregoing characteristics, or based on association with a
person or group with one or more of these actual or perceived characteristics.
Cabrillo College values diversity. Students needing academic
support/accommodations should contact the instructor as soon as possible. As
required by the Americans with Disabilities Act (ADA), accommodations are provided
to ensure equal opportunity for students with verified disabilities. If you need
assistance with an accommodation, please contact the Accessibility Support Center
(ASC) at (831) 479-6379 or (831) 479-6370, asc@cabrillo.edu, or located in the
HUB/2nd floor of the library, room 1073 at the Aptos campus or the Student
Resource Center at the Watsonville Center.
Thank you for reading the course syllabus. The first student to email me that they have read
the syllabus this semester will earn some extra credit.
SUPPORT SERVICES
Cabrillo College has many programs and services designed to help you during your
academic journey. You can visit the website at www.cabrillo.edu for a complete
listing of support services (under the Student Services tab). Please take advantage
of the services provided to you by the college.
FINANCIAL AID
Cabrillo College provides several financial aid opportunities for students. For tuition
and/or book assistance information, go to https://www.cabrillo.edu/services/finaid/
STUDENT RIGHTS AND RESPONSIBILITIES
You are expected to contribute to a positive learning environment. Your
responsibilities as a student include
•
Respect for your fellow students, staff, and faculty
•
Actively participating in the learning environment
•
Taking responsibility for learning and progressing in your course
•
Requesting assistance from the instructor when needed
•
Adhere to all academic integrity principles
•
Reading and understanding the Cabrillo Student Rights and Responsibilities
Handbook. (The student grievance procedure is outlined beginning on pg. 18 of
the handbook.)
•
Following all school policies and procedures. All policies and procedures can be
found at http://www.cabrillo.edu/associations/governingboard/BoardPolicies.html
STUDENT EQUITY
Here's a link to the Cabrillo Office of Student Equity website.
VETERANS
For help with financial aid, counseling, or general information, please visit the
Veterans Information Center (Room 914.)
CAMPUS RESOURCES
Please come see me if you have questions about the resources and support that is
available on campus.
Some of the resources on Campus (one page; .pdf)
Download