COP 3363
Introduction to C++ Programming with Unix
Fall 2023 Syllabus
Instructor Information
Position |
Name |
E-mail |
Office |
Office hours |
Course Instructor |
Bob Myers |
myers@cs.fsu.edu |
Love 108-D |
Thurs 12:30 - 2:30 PM |
Recitation TA |
Mark Mori |
mcm20c@fsu.edu |
MCH 101-D |
Tues/Thurs 5:00 - 6:30 PM |
Recitation TA |
Jackie Ye |
zy22b@fsu.edu |
Love 251 |
Mon/Wed 10:00 - 11:00 AM, Tues 2:00 - 3:00 |
Recitation TA |
Maitry Chauhan |
mc22ck@fsu.edu |
Love 108 suite (for now) |
Fri 10:00 AM - 12:00 noon |
TA/grader |
Patrick Canady |
pc21@fsu.edu |
Love 108 suite |
Mon/Wed 4:30 - 6:30 PM, Fri 4:30 - 5:30 PM |
TA/grader |
Jacob Copham |
jlc21b@fsu.edu |
Love 108 suite |
Wed 9:00 - 10:00 AM, Thurs 2:45 - 4:15 PM |
Other Instructor Information regarding e-mail contact
- Note my CS Department e-mail above: myers@cs.fsu.edu .
- Please use this e-mail for communicating with me.
- Please avoid using Canvas messages
- Make sure to send any e-mails from an official FSU e-mail account
(your FSU e-mail or your CS e-mail)
Class Schedule
Main class
Sections |
Room |
Time |
1-5 |
SCN 214 |
Mon/Wed 1:20 - 2:35 PM |
6-9 |
EOA 1050 |
Mon/Wed 3:05 - 4:20 PM |
Recitation
Section |
Room |
Day |
Time |
Instructor |
1 |
MCH 202 |
Thurs |
8:00 - 8:50 AM |
Chauhan |
2 |
MCH 202 |
Thurs |
9:45 - 10:35 AM |
Chauhan |
3 |
MCH 202 |
Thurs |
11:35 AM - 12:25 PM |
Mori |
4 |
MCH 202 |
Thurs |
1:20 - 2:10 PM |
Mori |
5 |
MCH 202 |
Tues |
11:35 AM - 12:25 PM |
Mori |
6 |
MCH 304 |
Thurs |
1:20 - 2:10 PM |
Ye |
7 |
MCH 304 |
Thurs |
3:05 - 3:55 PM |
Ye |
8 |
MCH 304 |
Thurs |
4:50 - 5:40 PM |
Ye |
9 |
MCH 304 |
Thurs |
6:35 - 7:25 PM |
Ye |
Course Requirements:
Prerequisite Course
- All students taking COP 3014 are required to have previously taken
and passed (with a C- or higher final grade) MAC 1140 or MAC 2311 or MAC
2233. If you have not completed this pre-requisite requirement, the CS
department may drop you from this course in the first week of classes.
To be sure that your course schedule is correct, if you do not have the
pre-req you should drop yourself from this course and then adjust your
class schedule appropriately with the help of your academic advisor.
Course Website:
Textbooks:
- Starting Out with C++ from Control Structures to Objects,
10th ed., Tony Gaddis, Pearson
ISBN-13: 9780137450626
- Note that this one is available as an online subscription through
Pearson.com
- A slightly earlier edition is fine also, if you can find a used
copy. Recommended at least 8th edition
Course Objectives:
This course is intended for majors in computer science or related areas
and focuses on the fundamental concepts of computer programming using
the C++ language. This course may be used as a programming pre-requisite
for COP 3330. Successful completion of this course satisfies the
computer competency requirement for the mathematics major. Upon
successful completion of the course, the student should be able to:
- Use the basic set of Unix commands to
- manipulate directories and files
- create and edit files using standard text editor
- transfer files from a laptop to the Unix server
- use the g++ compiler to compile and run programs
- gain practice with commonly used commands and utilities in Unix,
especially those that will assist in programming tasks
- gain a basic understanding of computer concepts, software, and
hardware.
- Solve computing problems using a top-down approach in a
well-structured design using procedural programming techniques.
- Design, implement, test, and debug a C++ program to solve
problems.
- Demonstrate knowledge and use of control structures used in
procedural programming, including sequence, selection, iteration, and
functions.
- Make use of data types and structures in C++ including integer and
floating point types, arrays and structs; arrays of structs and structs
containing arrays. Have an introductory-level understanding of the C++
class and be able to utilize the standard IO and string class libraries and
their member functions.
- Utilize fundamental algorithms studied to perform common tasks, such
as finding the max and min of a data set, counting, summing, tracking a
previous value, searching and sorting, reading until EOF, etc.
- Consider, compare, and evaluate code segments or simple algorithms
for relative efficiency in a basic fashion
- Make use of pointers: understanding their relationship with arrays,
their use in function parameters and returns, and their use in dynamic
memory allocation.
- Understand the basics of a C++ class and be able to use a minimal
class
Grading Policy:
The final course grade will be computed as follows:
Programs / Assignments |
30 % |
Test 1 |
20 % |
Test 2 |
20 % |
Final Exam |
30 % |
In addition to the scale listed above, in order to earn a C- or better
in the course, a student is required to achieve a test average of
C- or better. If the test average is below this level, the highest
possible course grade is a D. The test average can be computed with
the following formula:
TestAvg = ((Test1 * 20) + (Test2 * 20) + (FinalExam *
30)) / 70
- Any averages shown in Canvas may not be an accurate
representation of your actual grade in the course. I do not use Canvas
calculations to compute the final grades. Always use the syllabus
breakdown above to calculate your overall grade!
- Do not ask for your grade to be "rounded" or curved.
- Students will receive the grade they earned for the course.
Letter Grade Scale:
Letter | Numerical Average |
A | 92.00 - 100 |
A- | 90.00 - 91.99 |
B+ | 88.00 - 89.99 |
B | 82.00 - 87.99 |
B- | 80.00 - 81.99 |
C+ | 78.00 - 79.99 |
C | 72.00 - 77.99 |
C- | 69.00 - 71.99 |
D | 62.00 - 68.99 |
D- | 60.00 - 61.99 |
F | 0.00 - 59.99 |
Tests:
There will be three tests -- two term tests and a final exam. All exams
are in the normally scheduled classroom. Students need to bring and show
your Student ID on test days. The final exam will be cumulative. The
test formats will be a mixture of short-answer, code reading and
understanding, and code writing. Tentative test dates are listed
below. Be aware that these may change slightly depending on where
we are in the course materials.
Test Dates: (Test 1 and 2 tentative)
Test 1 |
Mon, Oct 9 (revised) |
Test 2 |
Mon, Nov 13 (revised) |
Final Exam |
Sec 1-5: Wed, Dec 13, 12:30 - 2:30 PM
Sec 6-9: Thurs, Dec 14, 3:00 - 5:00 PM |
For your reference
Link to Fall 2023 Final Exam Schedule
Incompletes
The grade of 'I' (Incomplete) will be assigned only under the
following exceptional conditions (in keeping with FSU's policy on
Incompletes):
- The final exam is missed with an accepted excuse for the absence.
In this case, the final exam must be made up within two weeks of the
beginning of the next semester
- Due to an extended illness or other extraordinary circumstance, and
with appropriate documentation, the student is unable to participate in
class for a period affecting graded work, such that it is not possible
to complete/grade the missing work before end of course.
- The missing work cannot constitute the majority of the work in the
course, and the student must already be passing the course in their
other coursework, for an incomplete to be considered
- In such a case, arrangements must be made to make up the missed
portion of the course prior to the end of the next semester.
Please note that "Incomplete" is not a
"get-out-of-bad-grade-and-retake-the-course" card. University policy on
Incompletes will be strictly followed.
Recitation / Quizzes
Periodic quizzes may be given, in lecture, in recitation class, or
online, to help students gauge their progress in the class, and to gauge
attendance, if needed. Attendance and participation is expected, both in
lecture and recitation class. There may also be some hand-in coding
exercises done in recitation class. Any attendance grades, quiz grades,
or graded work from recitation will count in the assignment average.
Programming Assignments
- There will be a variety of homeworks and programming projects
assigned. Some will be small and easy to complete in one sitting. Others
will be larger programming projects. Assignment specifications will be
posted on the course web page.
- Please note also that programming is a skill, and PRACTICE is
the only way to learn a skill effectively. Please make sure to start
assignments early enough to leave yourself time for appropriate
practice, as well as testing and debugging! Waiting until the due date
to start an assignment is a BAD strategy in this course, as it leaves
you no time for meaningful practice.
- ALL ASSIGNMENTS IN THIS COURSE ARE TO BE DONE INDIVIDUALLY.
Students are not permitted to share assignment solutions together, or
with others who are within or outside of our course. Please see the
Academmic Honor Code policies below.
- Turn in all assignments on time! Late assignments
will be accepted one day after the due date, with the deduction of a
letter grade (10%). Assignments more than a day late will not be
accepted.
- Compiling -- Programs that do not compile are very tedious to
grade, and they show a lack of testing, which is a large part of
programming. There will be an automatic 5% point penalty for each
compile error in a student's code that has to be fixed in the grading
process, up to a maximum of 10 errors. After that, the grade will be an
automatic 0. Make sure your code compiles before you submit it!!!
- Assignments need to be submitted using the appropriate submission
process. Instructions will be provided before the first assignment is
due. E-mailed files will NOT be counted as valid submissions.
- You can submit your file(s) as many times as you want up until the
submission cut-off (the end of the late day). Resubmits with the same
filename will simply overwrite any prior version, so make sure the LAST
thing you submit is the version you want graded!
- Each student is responsible for ensuring that their program files
were submitted correctly, and the correct version.
- Any concerns or issues regarding the accuracy of grades must be
addressed first to the grader of the assignment in question, and also
must be brought up within 7 days of the grade being posted
Excused Absence Policy
- Excused absences include documented illness, deaths in the family
and other documented crises, call to active military duty or jury duty,
religious holy days, and official University activities. These absences
will be accommodated in a way that does not arbitrarily penalize students
who have a valid excuse. Consideration will also be given to students
whose dependent children experience serious illness.
- It is the student's responsibility to notify me as soon as possible
regarding any excused absences that affect graded work. In the case of
tests, you need to notify me within 48 hours of any excused absence
that causes you to miss a test
Miscellaneous Policies:
- The course web page is your friend -- check and refresh it
frequently! It will be continually updated with essential course
materials, such as assignments, examples, and notes outlines. It will
also include other helpful supplements, such as instructions for using
the compilers, suggested exercises, and other useful help materials. It
is your responsibility to check the web page often for posted
materials.
- A student will be allowed to make up a missed test if he or she has
a notice of illness from the Student Heath Center or family physician.
Any other excuses that are not medical or emergency related will be at
the discretion of the instructor, and must be approved in advance.
If you miss a test for any reason (without advance approval), you must
notify me of the issue within 48 hours of the missed exam
- Students in the class should have a computer account from the
Computer Science Department (sign up for one if you don't already have
one), and this can and should be used to store project files and access
one of the compilers used in the course.
- Knowing the contents of this syllabus is each student's
responsibiltiy. "I didn't know" in regards to a clearly stated course
policy will NOT be considered a valid excuse for anything during the
course
- Please turn off cell phones, computer audio, Nintendo Switches, and
any other things that beep and/or make noise in the classroom.
Academic Honor Policy:
The Florida State University Academic Honor Policy outlines the
University’s expectations for the integrity of students’
academic work, the procedures for resolving alleged violations of those
expectations, and the rights and responsibilities of students and faculty
members throughout the process. Students are responsible for reading the
Academic Honor Policy and for living up to their pledge to “ . . .
be honest and truthful and . . . [to] strive for personal and
institutional integrity at Florida State University.” (Florida State
University Academic Honor Policy, found at
http://fda.fsu.edu/Academics/Academic-Honor-Policy.)
ALL WORK IN THIS COURSE IS INTENDED TO BE DONE INDIVIDUALLY
In addition to this information, please be aware of the
following:
- It is NOT APPROPRIATE to utilize websites such as: CHEGG.com,
COURSEHERO.com, etc. DO NOT post our assignments to these websites to
solicit answers, and DO NOT use/view/utilize the 'solutions' found on
these websites. Doing so is in direct violation of the FSU honor policy.
- It is NOT APPROPRIATE to utilize AI Tools, like ChatGPT, to write
assignment code for you.
- It is NOT APPROPRIATE to work on assignments with other students or
to give or receive solutions to or from anyone before an assignment is
due and handed in (by all parties).
- It is NOT APPROPRIATE to share any amount of code with your
classmates. When you turn in code with your name on it, you are
representing that work as your own. If your submission matches that of
another student, this is considered a violation of the Academic Honor
Code.
- It is NOT APPROPRIATE to copy/paste, or use any amount of code
written by other people from any web sources, forums, etc. as your own
solutions.
- It is NOT APPROPRIATE to post your code online in public view, where
other students can copy it. If I find your code online (unapproved
online compilers, text sites, blogs, help sites, etc...), no matter what
the intent was in posting your code, this is automatically in violation
of the Academic Honor Policy and the appropriate actions will be taken.
If you are keeping code on repositories like GitHub, make sure your code
is not searchable and viewable by the public
- Plagiarism detection tools, such as MOSS, will be used in the
grading process.
- It IS APPROPRIATE to utilize examples found in the course textbook or
in the course notes and examples, as long as the source is cited. This is
appropriate, as some hand-in assignments will have structural elements
that are based on examples we've done in class, or contain other code
that is provided to you in the assignment specification.
- It IS APPROPRIATE to discuss solutions and techniques on assignments
with other students AFTER the assignment has been graded and handed back.
- It IS APPROPRIATE to study general topics, ideas, and solve
non-assigned-for-homework questions for practice with other classmates.
- If it is found that a student has violated the academic honor policy
the student is not permitted to drop or withdraw from the course and must
complete the course with the sanctions assessed via the policy. This is a
UNIVERSITY policy.
- A first violation of the honor code will result, at minimum (but not
limited to), a penalty of a 0 grade on the assignment or test involved,
along with a reduced course letter grade for that term (-10 points off of
the final course grade).
- If the violation is that of soliciting solutions on external
web sites (Chegg, Course Hero, etc) -- which is also a violation of
copyright -- the penalty will be an automatic F in the course, regardless
of whether it is a first violation or not
- Any second violation of the honor code will result in an automatic F
in the course, and possible proceedings before the FSU Honor Code
Committee.
Americans With Disabilities Act
Students with disabilities needing academic accommodation should:
(1) register with and provide documentation to the Office
of Accessibility Services; and
(2) bring a letter to the instructor indicating the need for
accommodation and what type. This should be done during the
first week of class.
This syllabus and other class materials are available in
alternative format upon request.
For more information about services available to FSU students
with disabilities, contact the:
Office of Accessibility Services
874 Traditions Way
108 Student Services Building
Florida State University
Tallahassee, FL 32306-4167
(850) 644-9566 (voice)
(850) 644-8504 (TDD)
sdrc@admin.fsu.edu
https://dsst.fsu.edu/oas
Students approved to take exams at the OAS office are expected to
take exams at the regularly scheduled time. Any exception to this
will only be granted with a valid documented reason and must be approved
by the instructor a week before the exam.
Syllabus Changes
Except for changes that substantially affect implementation of
the evaluation (grading) statement, this syllabus is a guide for
the course and is subject to change with advance notice.