Principles of Computer Programming II

CSCI 1302

September 5, 2024

Basic Facts

Course: CSCI 1302 - Sections A (13175), Fall 2024.

Instructor: Dr. Clément Aubert, https://spots.augusta.edu/caubert/#contact

Meeting Time: Tues./Thurs., 10–11:15pm in University Hall 243

UCAs:

Course Description

A continuation of problem solving methods and algorithm development. Topics include data structures and their implementation, algorithm development and programming. The emphasis is on program development and style.

Prerequisites

To enroll in this course, you must have a minimum grade of C in CSCI 1301 or CSCI 2060.

Learning Outcomes

Students who successfully complete this course should be able to:

  1. Develop advanced program manipulating user input and files.
  2. Understand and be capable of implementing simple algorithms using (tail) recursion.
  3. Design (with UML case diagrams) and implement classes using properties, polymorphism and complex relationships (association, aggregation, composition, generalization).
  4. Declare, populate and maniputale one- and two-dimensional arrays in non-trivial ways.
  5. Understand the difference between reference and value type.
  6. Locate and use simple API such as the string or the list C# implementation methods.
  7. Leverage exceptions to improve the reliability of their programs.
  8. Define and manipulate simple (abstract) data-types such as (linked) lists.

Textbook

This course does not use a traditional textbook; instead, it uses a collection of open-source learning resources available at https://princomp.github.io/. While most of the resources hosted on that website is primarily concerned with CSCI 1301 for now, content will be added through the semester.

In the meantime, an excellent reference is C# 12 in a Nutshell: The Definitive Reference by Joseph Albahari (978-1098147440). AU students can access this resource using Safari Books Online.


Practical Information

Computer Requirements

Since this is a computer programming class with online resources, you will need to have access to a reliable Internet connection and a computer on which you can install software. It can be either a PC running Windows, a Mac running MacOS, or a PC running Linux (most major distributions); notably, however, Chromebooks are not supported. Please, find more details (e.g., on the hardware requirements) at https://princomp.github.io/docs/programming_and_computer_usage/computer_requirements if needed.

Class Attendance

This class will be conducted face-to-face, unless there are unforeseen changes later in the semester. You are expected to attend all classes and complete all lab activities. We recognize that sometimes you will need to miss class due to unexpected circumstances (illness, injury, etc.). Understand, however, that you are still responsible for all course material, whether or not you attend class, and missing class makes it easy to fall behind. Note that students that stop attending may be withdrawn by the instructor.

Announcements

Important class information will be shared in class and over email. Note that D2L will primarily serve as a platform to share your project and access your grade, but that no major announcements will be made exclusively on D2L.


Grades

Students will be evaluated by the following measures:

  1. Projects: Students will have to return C# projects throughout the semester.

  2. Exams: There will be two in-class exams, held during the regular class periods. They will require you to write programs on paper, without the help of any reference material, as well as answer questions about programming concepts.

  3. Final: The final exam will be similar in content to the midterm exams, and given to all sections of CSCI 1302 at the same time.

Refer to the planned schedule for estimated dates, and to Brightspace/D2L to get your current grades.

Your grade will be computed as follows:

Projects 10%
In-class Exams (×2) 50%
Final Exam 40%

using the following course grade scale:

Below 65 65–70 70–79 80–89 90–100
F D C B A

Refer to the Course Policies for information about late or missed evaluations.

Planned Course Schedule

Date Topic Assignments (project timeline tentative)
Thu, Aug 15 Syllabus & C# review  
Tue, Aug 20 C# review (contd) & class properties  
Thu, Aug 22 Class properties (contd)  
Tue, Aug 27 Exceptions Project #1: Todo List (refresher)
Thu, Aug 29 Exceptions (contd) & 1D arrays  
Tue, Sep 03 1D Arrays (contd)  
Thu, Sep 05 2D Arrays  
Tue, Sep 10 2D Arrays (contd) & list  
Thu, Sep 12    
Tue, Sep 17 List (contd) & .Net Lists Project #2: Temperature Statistics (arrays & exceptions)
Thu, Sep 19 Ref vs Value & arg. types  
Tue, Sep 24 Exam # 1 review  
Thu, Sep 26 - Exam #1
Tue, Oct 01 Return Exam  
Thu, Oct 03 Inheritance  
Tue, Oct 08 Inheritance Project #4: TBD
Thu, Oct 10 Fall Pause  
Tue, Oct 15 Polymorph  
Thu, Oct 17 Polymorph (contd)  
Tue, Oct 22 Strings  
Thu, Oct 24 Files Project #5: Inhert & Polymorph
Tue, Oct 29 Files (contd)  
Thu, Oct 31 Recursion  
Tue, Nov 05 Recursion (contd) Project #6: Files
Thu, Nov 07 Review  
Tue, Nov 12   Exam #2
Thu, Nov 14 Return Exam  
Tue, Nov 19 UML  
Thu, Nov 21 UML (contd)  
Tue, Nov 26 Lambda Expressions  
Thu, Nov 28 Thanksgiving - no class  
Tue, Dec 03 Course Review Project #7: TBD
Fri, Dec 06 Final Exam (11am–1pm)  

If there are any major changes, an announcement will be made in class and via email.

Dates are just estimates (the pace will be adjusted to the class as necessary), but exam dates will not change.


Course Policies

Late Policy

Projects are (generally) due at 11:59pm on the assigned due date, and no late assignments will be accepted. There will be plenty of time to complete the projects, so plan ahead for the possibility of illness, car malfunctions, power outages, or other setbacks.

Exams must be taken in person on the date of the exam. In extenuating circumstances, such as unavoidable work commitments or the need to quarantine due to COVID-19 exposure, the instructor may give permission to make up the exam on an alternate date or to place the weight of the missed exam onto the final exam’s weight.

Any request to miss a scheduled exam must be made prior to the exam and accompanied by documentation of the extenuating circumstances, unless of course it is an emergency, in which case the student is asked to inform the instructor as soon as they can, preferably over email. Missing an exam without making prior arrangements nor submitting documentation proving the nature of the emergency will result in a grade of zero.

Withdrawals

It is the student’s responsibility to initiate a withdrawal before midterm in order to receive a grade of W rather than WF. Although instructors have the right to withdraw a student who has stopped attending class or submitting assignments, you should not assume that you will automatically be withdrawn if you stop attending.

Any student not withdrawn from the course who misses the final exam without a documented excuse (as described in the Late Policy section) will receive an F. In case of an documented emergency at the time of the final, the student may be allowed to receive a grade of I.

Classroom Behavior

You are expected to come to class on time and stay until the end of the lecture: late arrivals and early departures disturb the learning experience for everyone. No cell phones or other visible distractions are allowed during lectures. Paying attention to the lecture, taking notes, and participating in in-class activities will help increase your retention of the material and improve your confidence on the exams. Asking questions in class is encouraged; your instructor would much rather stop the lecture to answer a question than continue on while the class is still confused.

Academic Accommodations

Augusta University believes academically qualified individuals with disabilities should have equal opportunity and access to a quality education. We have been actively involved in fostering an environment that encourages full participation by students with disabilities in every segment of the University. https://www.augusta.edu/tds/disabilityservices.php

Accommodations for students with disabilities are made on an Individual basis. Students must register and request services from the Director of Testing and Disability Services. In order to receive services, students must provide current documentation of their disability from a qualified health professional. (visit https://www.augusta.edu/tds/criteria.php for documentation criteria)

Appointments can be made by calling The Office of Testing and Disability Services at (706) 737-1469 or by emailing . It is the student’s responsibility for initiating an appointment and following “How to Receive Service” instructions found at: https://www.augusta.edu/tds/accommodation.php

The Office of Testing and Disability Services is located at 2500 Walton Way Galloway Hall Room 101 Augusta, GA 30904.

If the student does not obtain academic accommodations through The Office of Testing and Disability Services, it is assumed no special accommodations or modifications will be necessary to meet the requirements of this course.

Academic Honesty

Honesty and integrity are essential to an academic community if the honors and credentials it awards are to receive respect. The responsibility for the practice and preservation of honesty must be equally assumed by all of its members. Any type of dishonesty in securing those credentials therefore invites serious sanctions, up to and including a WF or F in the course, and expulsion from the institution. Augusta University’s academic regulations, as well as the student’s manual, provide specific definitions of cheating and plagiarism and describe the consequences for engaging in this kind of misconduct.

Unethical behavior of students in any form is not acceptable and will not be tolerated in the School of Computer and Cyber Sciences. Academic dishonesty – cheating on exams, plagiarism of the work of others, unapproved collaboration on graded work, and the like – will be dealt with immediately and with clear consequences. Depending on the nature and severity of the problem, a student who is guilty of any such violation may be: 1) withdrawn from the course with a grade of WF (counted as an F in the GPA); 2) given a grade of zero on the assignment; 3) given a grade of F in the course; or 4) otherwise penalized, at the discretion of the faculty member. Two occurrences of a WF grade for academic dishonesty will result in a student being expelled from the University, per current University policy as described in the University Catalog.

In general, all work you submit for this class must be entirely your own and must not be shared with anyone else. If you are unsure about whether or not certain kinds of collaboration are permissible, please ask your instructor.

Campus Carry Legislation

Please be aware of the USG guidance on House Bill 280. Note that you may not carry a handgun if high school students are enrolled in the class, and that it is your responsibility to visit the registrar to determine whenever this is the case or not.