CMPS 200—Introduction to Programming
Lectures
Sections 1, 2, and 3: MWF, 9:00am – 9:50am @ TBA
Sections 4, 5, and 6: MWF, 12:00pm – 12:50pm @ TBA
Course Description
An introduction to a disciplined approach to computer programming and problem solving, utilizing a block-structured high level language, with an emphasis on procedural abstraction and good programming style. This course covers the basic repetition and selection constructs, procedures and functions, parameter passing, and scope of variables. Each semester.
Course Objectives & Learning Outcomes
The goal of this course is to give a student the foundation needed to develop programs that are correct, efficient, well-structured, and robust, and that adhere to standards of style and documentation. The student will then build on these skills in following courses in his/her course of study. A student will learn how to solve problems by breaking them down, analyzing them, designing solutions, implementing the designed solutions, and verifying or testing the resulting implementations. A student will also gain good programming skills by studying examples and reinforcing discussions.
Upon successful completion of this course, a student should be able to:
1. Construct working programs that adhere to standards of style and documentation using primitive data types, conditionals, iterative control structures, and arrays.
2. Write functions/ methods that implement given signatures.
3. Decompose a problem into a well-structured set of functional abstractions.
4. Develop strategies for incremental development and debugging of programs.
5. Use classes, including classes from standard libraries, to organize the data that programs operate on and to manage program complexity.
6. Design classes and programs from either informal problem specifications or well-defined specifications of their interface.
Textbooks & Resources
1. Building Java Programs: a Back to Basics Approach, 3/e; Stuart Reges & Marty Stepp; Pearson © 2013.
2. Slides, other materials, and resources used will be posted on the CMPS-200 course web site on Moodle.
Grading Criteria & Assessment
There will be three exams and one final exam. All exams will be programming exams that take place in computer labs. There may be additional evaluations in the form of class attendance and participation, lab quizzes, and programming assignments. A tentative breakdown of the course’s final grade is given in the table below. This grading scheme is subject to further change at the discretion of the course instructors.
Category |
Percentage |
Class Attendance & Participation |
5% |
Lab Attendance & Quizzes |
5% |
Programming Assignments |
15% |
Exam 1 |
15% |
Exam 2 |
15% |
Exam 3 |
15% |
Final Exam |
30% |
Exams
There are three exams and one final exam. The table below gives tentative dates for the announced exams.
TBA |
Exam 1 |
TBA |
Exam 2 |
TBA |
Exam 3 |
TBA |
Final Exam |
By default, a missed exam gets a zero grade. With official and valid excuse, the instructor might choose to give a makeup exam or distribute the exam weight on the other exams. Needless to say, a special code of conduct applies during examinations. Copying from or communicating with a neighbor during an exam will result in immediate expulsion from the exam, and additional disciplinary measures.
Course Policies
Attendance
You are expected to abide by the university’s rules on attendance. You are expected to attend lectures and to be on time for class and lab. Lectures are a sequence. Missing one lecture may mean that you will not be able to keep up with the following lecture(s) without studying the material covered in the missed lecture. Catching up with missed lectures is your responsibility and is done in your own time. You are responsible for all class work, lab work, programming assignments, and announcements made in class, even when absent. Attendance may be recorded at every class session. Excessive absence will not be tolerated and can result in being dropped from the course.
Lab
The class lectures are complemented by one 3-hour weekly session in the computer lab. The lab is a hands-on session.
It is intended to give you assistance you may need in using the programming environment for creating and debugging your programs, and completing the weekly programming assignments. Attendance of all lab sessions is compulsory.
Assignments
Assignments will be given weekly, generally on Mondays, and are due on Sunday night, six days afterwards. All assignments should be submitted to Moodle on or before the due date. No late assignments will be accepted.
Communication Policy
You are requested to check your e-mail and the course’s website on Moodle regularly. You are responsible of all the information communicated to you via these tools.
Timeliness & Class Misconduct
Lectures and labs start on time. You may not be allowed to come into the room or lab once class has started. Overall, you will be treated as professional adults and you should plan on conducting yourself as such. Any class conduct that disturbs the learning atmosphere may be deemed misbehavior and will not be tolerated and necessary measures will be taken.
Academic Misconduct & Plagiarism
The course includes many programming assignments. You are free and encouraged to discuss these assignments with each other. However, the solutions you submit are to be developed by you. Be aware of the University Policy regarding Student Code Conduct
(http://www.aub.edu.lb/pnp/generaluniversitypolicies/Documents/StudentCodeConduct/StudentCodeConduct.pdf)
Tentative Outline (subject to change)
Lectures |
Topic |
Reading Material |
3 |
Introduction: the programming process |
Chapter 1 |
3 |
Primitive Data Types |
Chapter 2 |
3 |
Conditionals |
Chapter 4 |
3 |
Definite Loops |
Chapter 2 |
3 |
Functions; Program Organization |
Chapter 3 |
3 |
Using Objects (Math, String); Interactive Programs (Scanner) |
Chapter 3 |
3 |
Indefinite Loops |
Chapter 5 |
3 |
Exceptions; File Processing |
Chapter 6 |
6 |
Arrays |
Chapter 7 |
9 |
Data Abstraction and Classes |
Chapter 8 |
3 |
Graphics (if time permits) |
Chapter Supplement 3G |
Note for Special Needs Students
AUB strives to make learning experiences as accessible as possible. If you anticipate or experience academic barriers due to a disability (including mental health, chronic or temporary medical conditions), please inform the course instructor immediately so that we can privately discuss options. In order to help establish reasonable accommodations and facilitate a smooth accommodations process, you are encouraged to contact the Accessible
Education Office: [email protected]; +961-1-350000, x3246;
West Hall, 314.
Nondiscrimination
AUB is committed to facilitating a campus free of all forms of discrimination including sex/gender-based harassment prohibited by Title IX. The University’s non-discrimination policy applies to, and protects, all students, faculty, and staff. If you think you have experienced discrimination or harassment, including sexual misconduct, we encourage you to tell someone promptly. If you speak to a faculty or staff member about an issue such as harassment, sexual violence, or discrimination, the information will be kept as private as possible, however, faculty and designated staff are required to bring it to the attention of the University’s Title IX Coordinator. Faculty can refer you to fully confidential resources, and you can find information and contacts at www.aub.edu.lb/titleix . To report an incident, contact the University's Title IX Coordinator Trudi Hodges at 01-350000 ext. 2514, or [email protected] . An anonymous report may be submitted online via EthicsPoint at www.aub.ethicspoint.com