Principles of Computer Programming I – CSCI 1301

Fall 2018

Clément Aubert

October 9, 2018

Quick Facts

Presentation

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

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

Instructor

Name Dr. Clément Aubert
Office Algood Hall E-128
Phone 706-737-1566
Email
Office Hours Tuesday and Thursday, 8:20 am–9:50 am and by appointment
Institute School of Computer and Cyber Sciences

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.

More precisely, the tutoring (from Monday, August 20th to Wednesday, December 5th) for this class takes place in the ASC (located in University Hall, suite 156), according to the following schedule:

_ Mon. Tue. Wed. Thu. Fri.
Amy S. 12:00pm-1:30pm 9:00am-10:30am 12:00pm-1:30pm
Bobby M. 12:00pm-2:30pm 1:00pm-2:30pm
Bryana V. 5:00pm-9:00pm 3:30pm-5:00pm 1:30pm-3:00pm
K.C. Powell 3:00pm-6:00pm 4:30pm-6:30pm

(Updated 2018/10/05)

Bryana will also be assisting us during the labs. You can make appointments at https://www.augusta.edu/afa/success‐center/tutoring.php or just walk-in without an appointment for individual or group tutoring, and online tutoring through Cisco Spark is available.

Grades

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 five quizzes (closed book and timed (5–20 min.)) with questions taken or inspired from those assignments will be given.

  2. Three projects will be carried at home or during laboratory.

  3. There will be two in-class exams, held during the regular class periods.

  4. The final exam will take place during the exam period.

Refer to the planned schedule for precise dates.

Your grade will be computed as follows:

Quizzes (×5) 10%
Projects (×3) 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
F D C B A

Planned Course Schedule

Week Date Topic Chapter Note
1 08/13 Syllabus, Introduction 1.3–1.6 -
2 08/20 C# and Visual Studio 2 Homework #1 released
3 08/27 First Programming Concepts 3.1–3.8 -
4 09/03 Continued - Homework #2 released, Thu. quiz #1, 09/03 is Labor Day
5 09/10 Class, Objects, Methods 4.1–4.5 Project #1
6 09/17 Continued - Homework #3 released, Thu. quiz #2
7 09/24 Review session - Project #2
8 10/01 Methods and Constructors 4.8–4.9 Thu. Exam #1
9 10/08 Operators 3.8, 6.11 Homework #4 released, 10/08 is midterm, 10/11 – 10/12 is Student Fall Pause
10 10/15 while and if Statements 5.1–5.11 Thu. quiz #3
11 10/22 for Statements 6.1–6.4 Homework #5 released, Project #3
12 10/29 do...while and switch Statements 6.7–6.10 Thu. quizz #4
13 11/05 Review Session - Thu. Exam #2
14 11/12 More About Methods 7.1–7.5, 7.10–7.12, 7.18 Homework #6 released
15 11/19 Continued - 11/21 – 11/23 is Thanksgiving
16 11/26 Continued - Thu. quiz #5
17 12/03 Wrapping up & Review Session - 12/05 is end of class
18 12/10 - - Mon. 12/10, 11am-1pm: 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

Textbook is optional, and can be accessed at https://www.safaribooksonline.com/library/view/visual-c-how/9780134628820/ for Augusta University students.

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

Sections above refer to 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
08/30 Datatypes webpage, printable document, editable document
09/25 Study Guide webpage, printable document

Miscellaneous