Principles of Computer Programming I

CSCI 1301

February 9, 2024

Basic Facts

Course: CSCI 1301 - Sections E & F (29829 & 31229), Spring 2024.

Instructor: Dr. Clément Aubert

Graduate and undergraduate course assistants are listed at https://csci-1301.github.io/getting_help.html#for-this-course.

Meeting Time:

Course Description

A rigorous study of the principles of computer programming with emphasis on problem solving methods which result in correct, well-structured programs. Other topics: an introduction to data representation, data types and control structures, functions, and structured data types.

Prerequisites

To enroll in this course, you must have a minimum grade of C in one of the following classes:

Learning Outcomes

Students who successfully complete this course should be able to:

  1. Perform standard program input and program output using the keyboard and the monitor.
  2. Declare and use user-defined variables and constants using the appropriate data types.
  3. Understand and implement classes and objects.
  4. Declare, define, and call user-defined functions.
  5. Write and evaluate expressions using arithmetic, relational and logical operators.
  6. Control the flow of program execution using the appropriate sequential, selection, and repetition statements.
  7. Define, create and manipulate arrays.

Textbook

This course does not use a traditional textbook; instead, it uses a collection of open-source learning resources available at https://csci-1301.github.io. This CSCI 1301 website has important sections that you will need to access while taking this course:

  1. Book: Contains lecture notes for the entire semester, organized by topic and sorted in the order they will be presented in class.
  2. Slides: Contains slides matching the content of the book, presenting the same topics using sometimes a slightly different angle.
  3. Labs: Contains instruction handouts and supplementary files (e.g. sample programs) for each of the lab activities, organized by topic.
  4. Exercises: Contains exercises, examples of quizzes, and their solutions.
  5. Multiple Choice Questions: Contains short questions to easily test your knowledge.
  6. Documents: Contains supplemental reference information and guides, such as a summary of datatypes in C#.

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.

If you do not own a personal computer, AU has some available on a first-come first-served loaner basis for use during the semester. The University has identified resources that can assist students with securing technology such as laptops to assist with completing coursework at a distance while quarantining or isolating. These resources are offered at no additional cost to the student. If information technology resources are needed, you should contact the Office of the Dean of Students for support and further information about securing technology for the remainder of the semester. For questions about software and troubleshooting current IT applications, students should first attempt to resolve the issue by calling the AU IT Helpdesk 24/7 at 706-721-4000.

Augusta University also has several Computer Labs that you can use to work on this class’s assignments while on campus. These computers should all have Visual Studio pre-installed, so you can use them for this class without needing to install any new software.

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.

Lab Attendance

Attendance in lab is mandatory, and completion of lab will be monitored.

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.

Getting Help

Please, refer to https://csci-1301.github.io/getting_help.html.


Grades

Students will be evaluated by the following measures:

  1. Quizzes: Homework assignments will be given during the course of the semester; they are not expected to be handed back, and won’t be graded, but quizzes with questions taken or inspired from those assignments will be given. These quizzes are held at the beginning of class and timed (approx. 10 min.).

  2. Labs and Projects: Every week, students will have to complete either a lab assignment or to return a project related to the lab sessions.

  3. 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.

  4. Final: The final exam will be similar in content to the midterm exams, and given to all sections of CSCI 1301 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:

Quizzes (×4) 10%
Labs and Projects 20%
In-class Exams (×2) 30%
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

Each week starts on Monday, except for the first week which begins on a Thursday due to the academic calendar.

Week Date Lecture Topic Lab Topic Assignments
1 01/08 Syllabus Introduction  
2 01/15 Introduction to C# and Programming, Datatypes Hello World, First Program  
3 01/22 Operations, Real-time User Input Variables, Casting 01/25: Quiz #1
4 01/29 Writing a Class, UML User Input, Introduction to Classes 02/01: Quiz #2
5 02/05 Constructor/ToString Class Diagram, Constructor and ToString, Precise Rectangle  
6 02/12 Review for Exam 1, Exam 1 No lab 02/15: Exam #1
7 02/19 Return of Exam 1, Booleans, If-else, Switch Booleans, If, If and Switch  
8 02/26 Increment/Decrement, While Increment Decrement, While 02/29: Quiz #3
9 03/04 (03/07–03/08, Spring Pause) User Input Validation No lab  
10 03/11 Complex conditions/Do While Validating Input, Do While 03/14: Quiz #4
11 03/18 OOP and control flow Overflow and Underflow, Char and Int Conversion  
12 03/25 Review for Exam 2, Exam 2 No lab 03/28: Exam #2
13 04/01 Arrays, For Loops First Arrays Manipulations, For Loops  
14 04/08 (04/08–04/12, Spring break) User Input Validation No lab  
15 04/15 Static, Random Array Operations, foreach  
16 04/22 Static (continued) Using static keyword, Random  
17 04/29 (05/01: class ends) (Optional: Chemical Elements, GradeCalculator)  
18 05/06     05/08, 5–7pm: Final Exam in UH 242, 246, 247

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


Course Policies

Late Policy

In lab, 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, I may give permission to make up the exam on an alternate date. Any request to miss a scheduled exam must be made prior to the exam and accompanied by documentation of the extenuating circumstances. Missing an exam without making prior arrangements 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; I 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 me.

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.