Principles of Computer Programming I–Spring 2018

CSCI 1301

Clément Aubert

April 12, 2018

Quick Facts


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.

Learning Outcomes

Students who successfully complete this course should:

  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. Declare, define, and call user-defined functions.
  4. Write and evaluate expressions using arithmetic, relational and logical operators.
  5. Control the flow of program execution using the appropriate sequential, selection, and repetition statements.
  6. Define, create and manipulate arrays.
  7. Process lists of values – defining, creating, traversing.
  8. Understand and implement classes and objects.

Format and Procedures

This course has a lecture, and a laboratory, portion: both are required to succeed. This class is an on-campus class. Lectures are devoted to general explanations of the concepts and ideas underlying the topic at stake. Laboratory will be devoted to hands-on practise and experiments.

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. Additional resources will be used on a regular basis. The progression of the students will be regularly tested and assessed through quizzes, projects and tests. Active and relevant participation during the lectures and laboratory sessions is appreciated.

Teaching Philosophy

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:

What I’m expecting from you

  • Check the announcements periodically on the class website.
  • Read this entire syllabus carefully.
  • Participate actively in all class discussions.
  • Do the homework assignements and projects wisely: read your notes before starting, make sure you understand it completely before considering it done.
  • Come prepared and on time to classes, laboratory, exams and quizzes.

What you should expect from me:

  • Clear and accessible lectures.
  • Fair and impartial grading.
  • Availability, during office hours, by appointment, and by email.
  • Open hear to your suggestions to improve this class.
  • Dedication to your success!

Course Requirements

The following rules, inspired by my experience and dictated by the size of our group, will be enforced:

General Rules

  • Attendance is not mandatory.
  • You are responsible for all course material, whether or not you attend lectures or do the assigned reading or coursework.
  • It is the student’s responsibility to initiate a withdrawal before midterm (i.e., Fri, March 2nd), but I reserve the right to withdraw a student that missed 10% of class time and half of the quizzes and tests.
  • A student not withdrawn from a course who stops attending class (or who never attends class) is subject to receiving a grade of WF or F.
  • All coursework is individual coursework.
  • Any student missing the final exam without an documented excuse (brought to me or to the dean of Student Life) or who has not taken action to withdraw will receive a grade of F. In case of an documented emergency at the time of the final, the student may be allowed to receive a grade of I.
  • No make up quizzes or exam will be allowed. In case of a documented excuse (cf. previous item), the weight of the missed exam or quiz will be placed onto the final’s weight.

During lecture

  • No laptop or similar electronic device is allowed during the lectures. This policy will help you to improve your grades, increase memorization and to be more respectful of your fellow students.
  • Late arrival and early departure are not allowed. Class starts at 11:30 am and ends at 12:45 pm: arrange your schedule around this, or don’t come at all. This includes class sessions where quizzes are taken, but not class period where exams are taken.

During laboratory

  • Come to your section’s laboratory. If you want to change your section, find a fellow student willing to switch with you and go to the registrar’s office.
  • Late arrival and early departure are tolerated, but do not expect me to go over instructions a second time for you, and do not disturb your fellow students with your questions.
  • Quiet chat and mutual help are acceptable, sharing solutions is forbidden. For instance,
    • Is allowed:
      • Discussing general strategies and approaches
      • Helping a fellow student debugging a program by asking questions (“Don’t you think there might be a problem line X?”)
    • Is forbidden:
      • Touching someone’s else keyboard or taking notes while talking
      • Sharing files or projects

Practical Information

Time and Place


Name Dr. Clément Aubert
Office Algood Hall E-128
Phone 706-737-1566
Office Hours Monday 2:30 pm–4:30 pm, Thursday 3:00 pm–5:00 pm and by appointment
Institute School of Computer and Cyber Sciences vice Hull College of Business

Feel free to drop by when I’m in my office, but be aware that I may be busy, too: if you have multiple questions or if your question requires more than 5 minutes to be exposed and answered, please arrange an appointment with me.

Getting Help

I am committed to follow the principles of Universal design and try to construct a welcoming environment for every student. I should be your first point of entry, but getting help from other persons is perfectly acceptable and encouraged if you feel the need to.


Students will be evaluated using four different types of evaluation:

1- Six 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 six quizzes with questions taken or inspired from those assignments and the laboratory exercises will be given. Those quizzes happen (almost always) every other Thursday (see the planned schedule), are closed book and timed (5–20 min.).

2- Five projects will be carried at home or during laboratory, and submitted electronically through Desire2Learn. Those projects will be due (almost always) every other Thursday (see the planned schedule).

3- There will be two in-class exams, held during the regular class periods on Thursday, 15th February, and Thursday, 29th March.

4- The final exam will take place during the exam period, i.e., Monday, 7th May, 11:00 am–1:00 pm, in AH N-126.

Your grade will be computed as follows:

Quizzes (×6) 10%
Projects (×5) 10%
In-class Tests (×2) 40%
Final Exam 40%

using the following course grade scale:

Below 65 65–70 70–79 80–89 90–100

Planned Course Schedule

Week Date Topic Chapter Note
1 01/01 Syllabus, Introduction 1.3–1.6 Homework #1 released
2 01/08 C# and Visual Studio 2 -
3 01/15 First Programming Concepts 3.1–3.8 01/18: Quiz #1, Homework #2 released
4 01/22 Continued - 01/25: Project #1
5 01/29 Class, Objects, Methods 4.1–4.5 02/01: Quiz #2, Homework #3 released
6 02/05 Continued - 02/08: Project #2
7 02/12 Review Session - 02/15: Exam #1
8 02/19 Methods and Constructors 4.8–4.9 02/22: Quiz #3, Homework #4 released
9 02/26 Operators 3.8, 6.11 03/01: Project #3
10 03/05 while and if Statements 5.1–5.11 03/08: Spring Pause
11 03/12 for Statements 6.1–6.4 03/15: Quiz #4, Homework #5 released
12 03/19 do...while and switch Statements 6.7–6.10 03/22: Project #4
13 03/26 Review Session - 03/29: Exam #2
14 04/02 - - Spring Break
15 04/09 More About Methods 7.1–7.5, 7.10–7.12, 7.18 04/12: Quiz #5, Homework #6 released
16 04/16 Continued - 04/19: Project #5
17 04/23 Continued - 04/26: Quiz #6
18 04/30 Review session - 04/30 is end of class
19 05/07 - - 05/07, 11:00 am–1:00 pm, AH N-126: Final

This schedule is subject to change and enhancements, but provide an indication of the pace, assignments, and major deadlines that you will need to plan for the semester.

Additional Material and Resources


Textbook is optional, but strongly recommended.

Visual C# How to Program (6th Edition) by Paul J. Deitel and Harvey Deitel, Pearson, 2016, ISBN-10: 0134601548

Book can be purchased through JagStore, select

We will follow the 6th edition, but using the 5th edition is also acceptable. If 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. Also, the chapters in the schedule above are for the 6th edition, there might be occasional mismatches with the 5th edition.

Online Resources

Homework Assignments

Check the schedule for more information.

Snippets of Code

None at the moment, except for those shared during the lab.

Documents Shared in Class

Date Title
01/23 Datatypes webpage, printable document
03/15 Study Guide webpage, printable document