CSCE A211: Computer Programming II

Course Syllabus,  Fall 2017 Textbook

Course Description: Coverage of object-oriented programming in C++ including real-world applications built using objects, classes, inheritance, hierarchies, polymorphism, recursion, event processing, and exception handling. We will cover a small amount of Java when it is useful to contrast with C++. We will also cover some Unix for both C++ and Java and introduce some programming constructs in the C++11 standard.

Upon completing the course you should be able to:

Homework Assignments: There will be approximately five homework assignments although the number may change.  Assignments are expected to be completed individually.  Each assignment will consist of some programs to write and potentially some non-programs (e.g., write pseudocode or a design). Some assignments will be specific to Unix or to Microsoft's Visual Studio. In most cases I would like you to submit your programs as a zip file on Blackboard.

Labs where you can work on programs: To work on your homework assignments you can use ECB 209 when class is not in session. ECB 206 is an open lab but does not have many seats. You can also use EIB 309, which is reserved for CS&E students. You need your wolfcard. There are not many computers but there is space for laptops and groupwork. Note that C++ is NOT installed on the general ITS lab computers. You can use putty on a USB drive and use it to connect to our Linux server, from virtually any Windows computer. Of course you can also use your own computer.

Tutors:   We will have some CS students working as tutors.  Their schedule will be posted sometime around the second week of class, but is subject to change. They will be available for in-person tutoring in EIB 309. There is also online tutoring at> and a discord server at

Lab sections:  There is a weekly lab assignment to complete.  The idea is that you learn by programming, so the lab assignments are like short drills covering programming fundamentals that can be completed in 15-25 minutes if you know what you are doing.  The goal is to help reinforce programming concepts that will help you complete the homework assignments. The lab assignments are worth 2 points if everything works, 1 point if it is very close to working (you will have the chance to keep working on it to get a 2) or no points if it doesn't work or is far from working. If you don't complete the assignment in the lab then you can email me your solution by the end of the day for no point loss if everything works.  Assignments turned in later have a maximum of 1 point even if everything is working.  Normally students will show me or the lab assistant the program in person and we will mark completion on a grading sheet. Email is also accepted, in particular, if you complete the assignment before class, but if it doesn't work then you might not get feedback in time to fix it and get a full grade. If emailed I will send a confirmation of score so it is your responsibility to check for the confirmation.  There will be a student lab assistant available during lab hours to help or to mark completion of assignments. It is OK to get help from fellow students on lab assignments as long as you don't copy what another student has done without understanding what you copied.

Questions: If you have any questions, feel free to come in to my office.  In general, I have an open door policy -- if I am available in my office, you are welcome to come by.  An even better way to reach me is through email.  I check my email frequently and you should receive a response quickly.  Email is preferred over telephone and you will probably receive a faster response since I don't check voicemail very frequently.  I'm often up late and will be glad to answer questions if I'm available! 

Exams: There will be two midterms and a final exam.

Grading: Grading for this course is letter grade. An incomplete or deferred grade will only be given for a valid excuse (e.g. medical reasons, death in the family, etc.).  There is a 5% penalty for every day an assignment is late.

The breakdown is as follows:

The exams are not intentionally cumulative, but the nature of the material makes them mostly cumulative. For example, you have to know how to define variables to use them in classes and inheritance.

Cheating: Students are expected to uphold the UAA standard of conduct relating to academic dishonesty outlined in the UAA catalog and student handbook.  Cheating is not tolerated and constitutes grounds for dismissal.  For this class, it is permissible and encouraged to assist classmates in general discussions of how to attack the homework problems. It is not permissible to copy another's work (or portions of it) and represent it as your own. This includes programs posted on the Internet. On the lab assignments it is OK to work with others as long as you do not copy something without understanding what it does.

Academic Honesty: Academic integrity is a basic principle that requires students to take credit only for ideas and efforts that are their own. Cheating, plagiarism and other forms of academic dishonesty are defined in the Student Code of Conduct, which can be found in the UAA Student Handbook:

Cheating, plagiarism and other forms of academic dishonesty will first go through the student conduct process and then, if a violation of the Student Code of Conduct is found, academic sanctions may occur in addition to disciplinary sanctions. The Student Conduct Review Procedures are outlined in the UAA Student Handbook.

Academic Rights of Students: The Academic Dispute Resolution Procedure is in the UAA Catalog here:

Student Equity and Compliance:

The Office of Equity and Compliance ensures that UAA adheres to a safe, equitable, and healthy environment.  The office website is  If you qualify for accommodations because of a disability, please contact Disability Support Services in RH 105 (phone 907-786-4530) in atimely manner so that your needs can be addressed. You can make anonymous reports regarding discrimination, sexual assault, sexual harassment, dating and domestic violence, stalking, or retaliation. For emergencies, contact UPD at 8-911 from a campus phone or 911 from a cell phone.

Care Team Support for Students:

If you, or someone you know, needs support, is distressed, or exhibits concerning behavior, help by making a referral to the Care Team. The UAA CareTeamís purpose is to promotea safe and productive learning, living and working environment by addressing the needs of students. As your Faculty, I may contact the Care Team to seeksupport for you.  I encourage you to fill out a referral if you or a classmate may be in need of help.

Contact info for the Care Team: (1) submit a Care Report (referral) online,; (2) E-mail your concern to; or (3) call the Care Team phone number: 786-6065;  if an emergency-- call UPD or 911.

UAA Academic Coaching Center: The Academic Coaching Center (Sally Monserud Hall, Room 114, in the Learning Resources Center) helps students develop college-success knowledge and skills. All students are welcome to meet with an academic coach for help with goal setting, time management, textbook reading, test-taking, note-taking and technology (Blackboard, email, Microsoft Office Suite and ePortfolio). Coaching is offered by appointment or on a drop-in basis. Call 907-786-6828 for additional information, or visit:

Title IX: Members of UAA and visitors have the right to be free from all forms of gender and sex-based misconduct including sexual violence, sexual harassment, domestic violence, dating violence and stalking. UAA expects all members of the community to conduct themselves in a manner that does not infringe upon the rights of others. Gender-based and sexual misconduct has a negative impact on members of our community. Therefore, UAA has a zero tolerance policy for gender-based and sexual misconduct. If you have experienced gender-based and/or sexual misconduct, the following individuals can assist you in exploring options and support:

Title IX Coordinator, (907)786-1424

Student Health and Counseling, (907)786-4040,