ENGR121Syll

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