Upload
quinnpratt
View
215
Download
0
Embed Size (px)
Citation preview
8/12/2019 ENGR121Syll
1/7
8/12/2019 ENGR121Syll
2/7
Required MaterialsTextbook: Sams Teach Yourself C++ In One Hour a Day(7th Edition), Siddhartha Rao, Sams
Publishing, ISBN: 978-0672335679
Classroom Clicker: We will be using clickers to enhance learning during lectures. Clickersallow the instructor to instantly receive feedback from students, helping them to tailor each
lecture to address misunderstandings. You will receive credit for answering clicker questions soplease make sure you have your own clicker and bring it to every lecture. Clickers are battery
operated: it is a good idea to carry spare batteries with you in case your clicker dies during themiddle of lecture.
Course Goal Learning OutcomesCourse Goal:Take a moment to think about how much computers affect your lives, from the fun stuff--like
Facebook and Twitter--to the mundane--like online banking. Now imagine moving from beingsimply a computer user to being a computer programmer, with the ability to use computers to
solve new and interesting problems. In this course you will have the opportunity to learn how to
solve problems computationally. You will complete this course with the ability to designalgorithms to solve basic computational problems and implement them in the C++ programminglanguage.
Course Learning Outcomes:
At the end of the course the students will be able to:
1. Design algorithms to solve computational problems and implement those algorithms as acomputer program written in the C++ language.
2. Use an integrated development environment (IDE) to efficiently write, debug, document, andexecute programs.
3.
Use derived data types such as arrays and pointers.4. Use object-oriented programming features such as classes and inheritance to simplify their
programs.5. Use libraries of existing code where appropriate and write user-defined functions to perform
recurring tasks where necessary.6.
Explain the professional and ethical responsibilities of a software engineer.
8/12/2019 ENGR121Syll
3/7
8/12/2019 ENGR121Syll
4/7
Grading Components
Your final grade will be a weighted average of the following components. Each of thesecomponents will be described in more detail throughout the rest of the syllabus. Please make sure
you read them carefully. If anything is unclear, please feel free to ask me.
1.
Class Participation: 7%2. Reading quizzes: 3%
3. In-class Coding Quizzes: 10%4. Programming assignments: 30%
5. Midterm Exam: 20%6. Final Exam: 30%
Occasionally, grading mistakes occur. You have one week from the date that a grade is posted to
notify the instructor of any problems (e.g. a missing or incorrect grade). After one week, thegrade is considered final.
Class ParticipationYou should attend every class. The course will be taught using peer instruction, apedagogical technique that relies heavily on active participation by all students during lecture.Lectures are designed to illuminate common misconceptions with the material and not just to
regurgitate what is in the book. Attending every class and actively participating puts you in astrong position to succeed in this course.
Piazza provides another way to actively participate in class. I will occasionally post
additional practice problems on Piazza with the #f or mor epr act i ce tag. You are encouraged
to solve these problems and post your solutions on Piazza. Ill endorse answers that are correct,and at the end of the term I will award extra credit based on how many endorsed solutions you
posted. Piazza also allows me to mark questions as Good Questions: posting good questions
will also be rewarded with some extra credit.Occasionally, events arise that make it so that you cannot attend class. If such anextenuating circumstance arises, please send me a note before class to let me know you will not
be in attendance. Part of your final grade (7%) will come from answering clicker questions inclass. You can miss up to two lectures and still receive all 7% of your participation grade. If you
miss more days than that, you may be overextended and you should talk to me to see if it makessense to drop the course.
Assigned Reading & Reading QuizzesAssigned reading will come from the required textbook and online articles linked to from
the course website. Doing the assigned reading will allow you to actively engage in discussion
during class and is therefore a critical component of the course. Youll get the most of yourreading if you take the time to carefully read through all of the code examples and analyze eachline of code until you understand its purpose.
Assigned reading will usually be accompanied by a reading comprehension quiz. Thisreading quiz provides an extra incentive to read the material before the class. These quizzes will
be available on the course website and will be announced during lectures and/or on the website.They will account for 3% of your final grade.
8/12/2019 ENGR121Syll
5/7
In-class Coding QuizzesApproximately once a week we will have an in-class coding quiz. The quizzes will be
announced the in the lecture before they occur. The quizzes will give you a chance to practicewriting code on paper, a skill you will find valuable for exams. Writing code on paper also forces
you to slow down and think about what you are writing, which should further improve yourcoding skills.
As with class participation, I realize that occasionally you will not be able to attend class.If you miss one quiz this semester, it will not count against you: the other coding quizzes will be
weighted accordingly. Missing more than one quiz may lead to you falling behind so you shouldtalk to me if that occurs.
Problem Solving AssignmentsProblem Solving Assignments (PSAs) give you a chance to go from problem statement to
an implementation of a program that solves that problem. PSAs will be available on the course
website, where they will also be submitted. Submitted assignments should be correct andfollowing the guidelines given with the assignment. You should do your best to submit the PSAs
on time: late submissions may be penalized or rejected.
It is very rare that a real world software project will be done alone: keeping with thatspirit, most PSAs in this course will require pair programming. Pair programming does notmean, You do this assignment and Ill do the next one. Pair programming means actively
working together on a program in the same room, using the same computer. In pair programmingone person is the driver while the other is the navigator. The drive operates the keyboard and
mouse while the navigator checks what the driver is doing and offers input about what to donext. These two roles should switch periodically. Studies have shown that students engaged in
pair programming do better in subsequent programming courses. Please remember that it is yourresponsibility to understand all of the code that you submit.
I will pair you with another student; these pairings will be available on the coursewebsite. You should contact your partner immediately to introduce yourself and try to coordinate
your schedules and find times to work together. If you do not hear back from your partner or ifthey tell you they are planning on dropping the course, please contact the instructor immediately.
If I dont hear from you, I will assume you are staying with your initial partner. You should notplan on going solo: even if the initial assignments seem easy to you, later assignments will be
very difficult without a partner.Teamwork is a critical skill on which your future employers will evaluate you. You will
greatly benefit if you work hard now on learning how to become a good teammate. Being a goodteammate includes always showing up on time for planned meetings and adequately preparing
for your meetings. I will periodically ask you to evaluate both your and your partners teamworkskills to ensure that your group is functioning well. Working with others can be challenging; if
an issue arises, you should first bring up the issue with your partner. If that fails to resolve the
problem, please contact the instructor. Dont put off addressing these issues; often a heartfelt talkwith your partner as soon as the issue arises can avert many headaches later.
Please remember that you should never share code with anyone except your partner (and
even then, sharing should only happen during pair programming assignments). You should feelfree to discuss important course/programming concepts with your classmates as long as you do
not give away solutions for an assignment. If you are unsure whether it is OK to discuss aparticular topic, please contact the instructor but err on the side of caution until you hear a
definitive answer.
8/12/2019 ENGR121Syll
6/7
ExamsThere will be two major exams in this course: a midterm and a final. The midterm is
tentatively scheduled for Thursday, March 6 during our normal lecture time. The final isdefinitively scheduled for the following times:
Section 01: Thursday, May 22, 8am 10am
Section 02: Tuesday, May 20, 11am 1pm
Each exam will cover all the assigned reading, lecture material, and assignments up to(and including) the lecture before the exam. Exams will be closed book and closed note.
Calculators are not allowed. Unless explicitly authorized in writing by the instructor, you maynot receive any kind of external help on an exam.
A serious illness, a death in the family, and other traumatic events are unfortunately partof life. If you contact me within 24 hours with documentation, I will make an arrangement to
make up for your missed exam. This arrangement may include taking the exam later or re-weighting other components of your grade to compensate for the missed exam. Otherwise,
exams mustbe taken on time.
Grading ScaleYour final grade will be based upon a weighted average of the individual course grading
components (i.e. participation, quizzes, etc.). I do not grade on a strict scale, but you will do no
worse than the scale shown below for your final, weighted average. One important exception isthat you mustpass the final exam (i.e. get 55% or higher) in order to pass the course.
93% and above A
90 93 A-87 90 B+
83 87 B
80 83 B-74 80 C+69 74 C
65 69 C-55 65 D
Below 55 F
Note that the upper end of each range is non-inclusive. For example, 90% would be consideredan A-, not a B+.
If you are taking the pass/fail option, you must receive at least a C- to pass.
8/12/2019 ENGR121Syll
7/7