Fall 2020
November 23, 2020
This is Principles of Comp Program I - 13167 - CSCI 1301 - A and Principles of Comp Program I - 13172 - CSCI 1301 - B, an undergraduate semester class of 4.000 credits, whose pre-requisite is a minimum grade of C in one of the following classes:
We will be using an asynchronous split model:
We will enforce the University’s regulations on social distancing and face covering. We will be primarily using material that I will be sharing with you, that you will be able to download for off-line consulting in multiple formats. You will either need
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.
Students who successfully complete this course should:
The week starts on Monday.
| Week | Date | Note | Topic |
|---|---|---|---|
| 1 | 08/10 | - | Syllabus, Introduction |
| 2 | 08/17 | - | Reserved Words and Variables |
| 3 | 08/24 | 08/25 : Quiz (A), 08/27 : Quiz (B) | Datatypes and Operations |
| 4 | 08/31 | - | Casting and Reading from the User |
| 5 | 09/07 | 09/07: Labor Day, 09/10: Project (A & B) | Intro to Object-Oriented Language |
| 6 | 09/14 | 09/17: Midterm Exam (B) | Advanced Methods / Exam |
| 7 | 09/21 | 09/22: Midterm Exam (A) | Exam / Advanced Methods |
| 8 | 09/28 | - | Constructors, Overloading and ToString |
| 9 | 10/05 | 10/06: Quiz (A), 10/08: Quiz (B) | Control Structures – Boolean and if Statements |
| 10 | 10/12 | - | switch Statements |
| 11 | 10/19 | 10/22: Quiz (B) | while Statements |
| 12 | 10/26 | 10/27: Quiz (A) | for Statements |
| 13 | 11/02 | 11/03: Exam (A), 11/05: Exam (B) | - |
| 14 | 11/09 | - | Arrays |
| 15 | 11/16 | 11/20: Project (A & B) | - |
| 16 | 11/23 | 11/23–27: Thanksgiving | - |
| 17 | 11/30 | 12/8 (11:00am–1:00pm): Final | - |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Syllabus | Syllabus | Simply read the syllabus! | |
| Lab | Lab #1 | Lab #1 | Lab #1 | Setting-up your computer |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Class #2 | Class #2 | Class #2 | Introduction, first program(s) and escape sequences |
| Lab | Lab #2 | Lab 02 | Lab 02 | Creating your own solution, first messages |
| Homework | Homework #1 | Study it before the first quiz, on 08/25 (A), 08/27 (B) |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Class #3 | Class #3 | Class #3 | Datatypes and variables |
| Lab | Lab #3 | Lab 03 | Lab 03 | First variable manipulations |
| Homework | Homework #2 | Study it before the Midterm exam | ||
| Datatypes in C# | Cheatsheet | Cheatsheet | Cheatsheet | A brief cheatsheet on C#’s datatypes |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Class #4 | Class #4 | Class #4 | Operations, conversions and reading from a user |
| Lab | Lab #4 | Lab 04 | Lab 04 | Reading from the user, operations on numbers, casting |
| Project 1 | Project #1 | Project #1 | Project #1 | To be completed before 09/10 |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Class #5 | Class #5 | Class #5 | Converting a string into an int, first class |
| Lab | Lab #5 | Lab 05 | Lab 05 | Reading an int from the user, using a pre-defined class |
| Milestone 1 | Milestone #1 | Milestone #1 | Milestone #1 | A brief review of what happened so far |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Class #6 | Class #6 | Class #6 | UML Diagrams, More on the Rectangle class, Scope, Constants and Format Specifiers |
| Lab | Lab #6 | Lab 06 | Lab 06 | Designing and implementing classes from scratch. |
| Homework | Homework #3 | Study it before the Midterm exam! | ||
| Project 1 Solution | Project #1 | Project #1 | Project #1 | A possible solution to the first project, and the rubric. |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Exam | Exam #1 | Exam #1 | Exam #1 | Some comments on the first exam, and the exams for both sections A and B available to download. |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Class #8 | Class #8 | Class #8 | Constructor, Default values, Signature, Overloading and ToString method. |
| Lab | Lab #8 | Lab 08 | Lab 08 | Designing and implementing classes using custom constructors and ToString methods. |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Class #9 | Class #9 | Class #9 | Controlling the flow of a program using conditions and if-else statements. |
| Lab | Lab #9 | Lab 09 | Lab 09 | Practising with bool and if statements, first problems. |
| Milestone 2 | Milestone #2 | Milestone #2 | Milestone #2 | Reviewing classes. |
| Homework | Homework #4 | Homework on conditions, if and switch. |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Class #10 | Class #10 | Class #10 | if-else-if and switch statements. |
| Lab | Lab #10 | Lab 10 | Lab 10 | From if to switch and reciprocally. |
| Quiz 2 | Quiz #2 | Solution and comments on Quiz #2 |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Class #11 | Class #11 | Class #11 | Increment, Decrement, while loops and user-input verification. |
| Lab | Lab #11 | Lab 11 | Lab 11 | – |
| Homework 4’s solution | Homework #4’s solution | Solution and comments on the first part of Homework #4 | ||
| Homework 5 | Homework #5 | Homework on switch, increment, decrement, loops and user-input validation. |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Class #12 | Class #12 | Class #12 | do … while loop and survey. |
| Lab | Lab #12 | Lab 12 | Lab 12 | Survey code and example of exam. |
| Quiz 3 | Quiz #3 | Quiz #3 | Quiz #3 | Solution and comments on Quiz #3 |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Exam | Exam #2 | Exam #2 | Exam #2 | Some comments on the second exam, and the exams for both sections A and B available to download. |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Class #14 | Class #14 | Class #14 | Arrays and for loops |
| Lab | Lab #14 | Lab 14 | Lab 14 | Discovering and practicing with arrays and for loops. |
| Project 2 | Project #2 | Project #2 | Project #2 | To be completed before 11/20 |
| Homework 5’s solution | Homework #5’s solution | Solution and comments on the first part of Homework #5 | ||
| Homework 6 | Homework #6 | Homework on for loops and arrays. |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Lecture notes | Class #15 | Class #15 | Class #15 | Static and Arrays Algorithms |
| Lab | Lab #15 | Lab 15 | Lab 15 | Array, for loops, and exam preparation. |
| Homework 6’s solution | Homework #6 | Solution and comments on the first part of Homework #5 |
| Ressource | html | docx | Comment | |
|---|---|---|---|---|
| Project 2’s solution | - | Project #2 | - | Please study the 4 solutions |
Textbook is optional, and can be accessed at https://learning.oreilly.com/library/view/visual-c-how/9780134628820/ for Augusta University students, once you’ve created an account on https://www.oreilly.com/ with your @augusta.edu email address.
Visual C# How to Program (6th Edition) by Paul J. Deitel and Harvey Deitel, Pearson, 2016, ISBN-10: 0134601548
This book can be purchased through JagStore, select
JAGSTORE - 2020 FALL-AUGUSTA UNIVERSITY
CSCI-CSCI
1301
F-Xiang, WeimingIf you were to pick the 5th Edition, be aware of that the 6th edition takes into account the recent 6th specification of C#. As a consequence, it uses string interpolation instead of comma-separated list, it simplifies the use of the ToString method, and that it uses a different method to convert String to Integers.
C#.C# projects online at tutorialspoint.com/compile_csharp_online.php or repl.it.Students will be evaluated using four different types of evaluation:
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. Those quizzes are closed book and timed (± 10 min.).
Projects will be carried at home. “Partial feedback” will be possible, and encouraged: the students are allowed to submit their work as many times as they want before the dead-line, and to get feedback on it from their instructor, Dr. Aubert.
There will be in-class exams, held during the regular class periods.
The final exam will take place during the exam period.
Refer to the planned schedule for precise dates, and to Brightspace/D2L to get your current grades.
Your grade will be computed as follows:
| Quizzes (×3) | 10% |
| Project (×2) | 10% |
| In-class Exams (×2) | 40% |
| 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 Requirements for information about late or missed evaluations.
Lectures are devoted to general explanations of the concepts and ideas underlying the topic at stake. All practical work, coding, programming, testing, etc. will be carried at home or in the lab portion if there is one.
Homework assignments will assist the students in making sure they understand classes expectations and the content of the lecture, as well as to practice their coding and problem-solving skills. The progression of the students will be regularly tested and assessed through quizzes and exams. Active and relevant participation during the lectures is appreciated.
It is our mutual interest for you to succeed: I love to share knowledge and to expand it by helping students, and students want to gain a useful and agreeable experience that will prove valuable in their future endeavors. To this end, here is:
You can have a look at my Quick Reflexion on Course Evaluations, that contains my previous student evaluations, and at my “Definitive” Study Guide.
In case of conflict, the proper etiquette is to reach out to me, and if no solution can be found, then we should turn to our undegraduate study director Anthony Lawrence or to the dean of Student Life to help as an ombudsman.
For this class, you will need to access a computer. You can either:
If you need room to engage in a synchronous class, you can go to
I should be your first point of contact for any question regarding the content of this class, but many other resources are available:
The Augusta University chapter of the A.C.M is one of the university’s best resources for Computer Science, Information Technology and Cyber Security students. It provides a platform to network with other students in similar majors; presenting countless opportunities to expand not only the people you know, but also a fantastic place to learn and ask questions. Because of Covid-19, we will only be holding meetings virtually in our Discord server. If you are interested in joining these meetings, or you have any questions about Computer Science or Cyber Security, feel free to join through our link.
The University has implemented specific requirements to minimize exposure to COVID-19 and support the safety of all during the pandemic. These requirements apply to all persons on campus (faculty, staff, students, and visitors). These requirements are subject to change. Visit jagwire.augusta.edu/coronavirus/ and augusta.edu/reopening/ for the latest details.
All persons must wear an appropriate face covering while inside campus facilities/buildings, including classrooms, regardless of the size of the space. The face covering must fit closely and fully cover the nose and mouth. Such coverings must be used in addition to—not as a substitute for—social distancing. If a medical condition prevents you from wearing a face covering, you may provide documentation to request an accommodation through Testing and Disability Services (706-737-1469 or tds@augusta.edu), and must show proof of the accommodation when asked.
All persons should wash hands thoroughly and often with soap and water (for at least 20 seconds) or hand sanitizer (containing at least 60% ethanol or 70% isopropanol). Avoid direct contact with high touch surfaces (doorknobs, light switches, campus equipment, devices, vending machines, etc.) and avoid sharing devices, books, pens, or other learning aids with others.
All persons are responsible for disinfecting their own workspaces before and after use, including desktops, seats, and any shared equipment. Students, faculty, and staff are responsible for providing their own supplies for this purpose. Used supplies should be disposed of properly.
If you notice an empty hand sanitizer dispenser, or a missing disinfectant spray bottles, you can call 706-721-5024 to replace COVID prevention items.
Your role is critical to protect the safety of our entire AU family. Any student who is exhibiting symptoms of COVID-19 may be required to leave class and seek medical attention at Student Health Services (at 706-721-3448) immediately. Do not come on to campus if you have any symptoms of COVID-19.
The University’s Student Code of Conduct, the student’s manual, the academic regulations as well as the applicable policies are supposed to be known by the students and will be enforced.
Section 5.2, Academic Conduct of the student’s manual defines precisely what kind of collaborations are acceptable. As long as you don’t lie, cheat, plagiarize, assist others or being assisted by others without authorization, we should not need any of that. If you are unsure about whether or not certain kinds of collaboration are permissible, please ask me.
I am committed to the founding principles of Universal Design, and to make my lecture accessible to every one. Concretely, that means that I’m not requiring you to use a particular Operating System, that I always try to give the information repeatedly, and using multiple channels, that I am available over the phone, email, or in my office. If you are registered with Testing and Disability Services, please see me at your earlier convenience to discuss accommodations.
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.
pdf version of this page.pdf reader to consult some of the documents: I recommend choosing an open-source pdf reader.
Social Distancing
All persons must maintain at least six (6) feet of separation from others. This distance should be maintained at all times and in all spaces, indoors or out, including classrooms, except where closer proximity is brief and logistically unavoidable (e.g. elevators, hallways). Keep your distance, do not gather in groups, and avoid crowded spaces. Sit only in designated areas in classrooms or similar spaces, and do not move seats or desks in classrooms or common spaces.