Syllabus
CMPS 150: Introduction to Computer Science
Fall 2007 - University of Louisiana at Lafayette - Nona Etheredge, instructor
Unix, C++ and program design | Class Notes | Syllabus | Textbook | Web site | Category
Syllabus for CMPS 150: Introduction to Computer Science
Sections 1, 2, 3, 4: Fall 2007
Prerequisite: MATH 109 or MATH 201, with a grade of C or better
Co-requisite: MATH 110 (CMPS majors)
Instructor: Nona Etheredge
Office: ACTR Hall, Room 222
Phone: 337-482-6608
E-mail: nona@louisiana.edu
Lecture Location: ACTR Hall, Room 101
Lecture Meets:
| sections 1 & 2 | MWF, 10 a.m. to 10:50 a.m. |
| sections 3 & 4 | MWF, 11 a.m. to 11:50 a.m. |
Lab Location: ACTR Hall, Room 106
Lab Meets:
| Section 1 | Monday, noon to 1:15 p.m. |
| Section 2 | Monday, 1:30 p.m. to 2:45 p.m. |
| Section 3 | Wednesday, noon to 1:15 p.m. |
| Section 4 | Wednesday, 1:30 p.m. to 2:45 p.m. |
Web site: http://fidelio.cacs.louisiana.edu/150/
Office Hours: A handout of office hours for the CMPS 150 instructor and all Teaching Assistants will be given out the second week of classes. This information will also be available on the class Web site.
Class Info
Class information and assignments will be posted on the class Web site.
Course Description
INTRODUCTION TO COMPUTER SCIENCE. Problem solving, structured design of algorithms, implementation of algorithms, testing and debugging of programs. Data types, control structure and abstraction. The lab component focuses on algorithm design and implementation.
Goals
- To acquire a foundation in the C++ programming language and Unix operating system platform.
- To understand fundamentals of the program development process (problem definition, requirements specification, design, implementation, testing and maintenance).
- To develop working knowledge of programming techniques and their implementation in C++
- To gain experience with top-down design and modularization, and be introduced to object-oriented programming.
Prerequisites by Topic
- Knowledge of basic algebraic concepts
- Problem-solving experience
Required Textbook
C++ Programming: Program Design Including Data Structures, 3rd Ed., D.S. Malik; Thomson; 2007; ISBN(10): 1-4188-3640-0 ISBN(13): 978-1-4188-3640-5
Additional Resources
- Publisher/author Web site
The following are available on the class Web site:
- Workbook of problems from a prior book
- Unix, FTP, Telnet and vi tutorials
- Previous semester’s programming assignments and exams with solutions
- Software links, including telnet/FTP clients, C++ compiler and environment, X-terminal
Topics
- Introduction to computing devices
- Problem solving concepts
- Program development concepts
- Implementation of functions
- Selection structures
- Repetition structures
- Introduction to C++ arrays
- Abstraction through functions and objects
- Class design and implementation
Computer Accounts
If you have not previously done so, it is your responsibility to activate your UCS account by going to Stephens Hall Room 201 and filling out the proper forms. This should be done IMMEDIATELY. Inability to turn in work or participate in labs because your account is not activated (or is blocked) will cause your grade to suffer. Changes or corrections to programming assignments are distributed by e-mail to your UCS email account.
It is your responsibility to check your email on your UCS e-mail account DAILY!
Note: There is a link to the UCS e-mail interface and a link to the UCS mail forwarding options page on the CMPS 150 Web site.
The Solaris/Unix Lab is in Conference Center Room 152 and is open 24 hours a day, 7 days a week.
Policies
- Attendance
- Attendance is important. A sign-in sheet will be used to take roll at each class meeting. It is the student's responsibility to sign the sheet.
- You are responsible for all missed work, regardless of the reason for an absence. You are responsible for getting any notes or material you may have missed.
- Absences for University-sponsored events will be treated like any other absence.
- Programming Assignments
- Programming assignments are to be done BY YOU AND ONLY YOU. You may seek assistance with the programming problem from the 150 instructor or any of the 150 Teaching Assistants. You may not seek assistance with the programming problem from any other person, nor may you work with partners or groups. You may ask others for assistance with the Solaris Common Desktop environment or with Unix Operating System commands and concepts. You may ask others for assistance submitting your finished work via the submit system. (See b)
- Programming assignments will be submitted electronically via the Submit system. Programming assignments must placed in your class account (directory) or the submit system will not work. It must also have the correct name. (Note that upper case letters and lower case letters ARE DIFFERENT in UNIX!!!) You are welcome and encouraged to turn assignments in early.
- Programming assignments MUST COMPILE ON THE GNU g++ COMPILER ON SOLARIS TO BE ACCEPTED
- Late programming assignments are penalized as follows: 25% up to one day late, and 50% for up to two days late. Assignments are no longer accepted (i.e., they receive a grade of zero) if not turned in within two days (48 hours) of the deadline. Yes, Saturdays and Sundays count as days.
- You may submit a programming assignment as many times as you like. (If you make multiple submissions, the only one we will see is the last one!)
- Once you have submitted your assignment, do not modify the file or change the time stamp on the file until you are happy that your grade for that assignment is correct.
- Be aware that there is a significant amount of time that you are expected to spend in the computer lab or otherwise working on your programming assignments outside of class time.
- In addition to the standard initial documentation, every program file for every homework should include one of the following certification-of-authenticity comment:
Certification of Authenticity: I certify that this assignment is entirely my own work.
Certain types of assistance are inappropriate in this class. As stated above, programming assignments are to be done by you and only you. Any assistance received must be from instructors and/or teaching assistants. ALL code must written by you. Should it be discovered that inappropriate assistance was given, ALL students involved will receive grade of zero (0) for the assignment. Any student involved in inappropriate collaboration more than once will receive an F in the course, with no opportunity to drop.
How to pass this class
- Work Lots of Problems
- The single most critical factor in your success in CMPS 150 after the obvious (having a working knowledge of algebra, reading the chapter before lecture, reviewing the author’s chapter presentation files, studying for tests, starting your programming assignments early enough to avoid last minute panic situations) is practicing writing code. Your text has practice problems and programming problems at the end of each chapter. There is also an on-line workbook (available on the CMPS 150 Web site) with many practice problems and programming problems. Make use of this material. If you need help understanding any of these practice problems or programming problems, it is a good sign that YOU DO NOT UNDERSTAND CRITICAL MATERIAL and should get help soon.
- A grade of C or better MUST be received on BOTH the programming assignments AND examination portions of the class in order to receive a grade of C or better in the class. A grade of C or better in CMPS 150 is required in order to take CMPS 260.
Grades
| Grading | |
| Programming Assignments | 20% |
| Lab Grade | 5% |
| Test 1 (comprehensive) | 20% |
| Test 2 (comprehensive) | 25% |
| Final exam (comprehensive) | 30% |
| Grading Scale | |
| at least 90% or above | A |
| at least 80%, but below 90% | B |
| at least 70%, but below 80% | C |
| at least 60%, but below 70% | D |
| below 60% | F |
- Keep track of all your grades. It is YOUR responsibility to make sure they are recorded correctly. The instructor will have printouts available with all grades, as recorded in the grade spreadsheet, after each exam.
- All questions regarding any graded work MUST be brought to the attention of the instructor within ONE WEEK of when the graded work is returned to the class.
Et ceteras
- The last day to drop or resign with a grade of W is Thursday, Oct. 11, 2007.
- Incomplete Grades are given in this course only under unusual / extreme circumstances.
- You must have an ID with you in order to take your exams and collect printouts.
- The UL Lafayette Computer Science Department Policies regarding attendance, collaboration and auditing classes are in effect (separate handout).
- Students are required to read the Academic Honesty section in the UL Lafayette Undergraduate Bulletin or the UL Lafayette Graduate Bulletin.
- Holidays when this class will NOT be held are: Monday, Sept. 3 (Labor Day), Monday, Oct. 1 (Fall Break), Friday, Nov. 23 (Thanksgiving)
- Exams at locations other than the lecture room: Students with special needs should report to Services for Students with Disabilities. If you take your exams through that office, your appointments must be made for the same day and time as the class takes their exams. All exams are comprehensive – including the final exam
| Semester class meeting time | Final Exam Time | |
| MWF 10 a.m. | (sections 1 & 2) | Thursday, Dec. 6 – 1:30 p.m. to 4 p.m. |
| MWF 11 a.m. | (sections 3 & 4) | Monday, Dec. 3 – 1:30 pm to 4 p.m. |