Department of Computer Scienceand Industrial Technology

Department of Computer Scienceand Industrial Technology

DEPARTMENT OF COMPUTER SCIENCEAND INDUSTRIAL TECHNOLOGY

COMPUTER SCIENCE 161: ALGORITHM DESIGN & IMPLEMENTATION I

SPRING 2009

Instructor:Steele Russell

Office:329E Fayard Hall, Hammond

Phone:985-549-5505

E-Mail:he best way to contact me is via e-mail.

Office Hours: Monday9:00–10:00 a.m. 1:00-4:00 p.m.

Wednesday9:00 –10:00 a.m. 1:00-4:00 p.m.

Friday9:00 –10:00 a.m.12:00-1:00 p.m.

Or by Appointment

REQUIRED MATERIALS:

  • Textbook: Introduction to Java Programming – sixth edition Liang
  • Media to back up your work on (flash drive - at least 1 GB)

COURSE DESCRIPTION:

The course description as defined in SLU's Catalog, which can be found online at web address http://www.selu.edu/Administration/recordsandregistration/catalog.htm

161. Algorithm Design and Implementation I. Credit 3 hours. Prerequisite: Mathematics 155 or 161 or 165 or permission ofthe Department Head. Basic concepts of computer programming, problem solving, algorithm development, and program coding usinga high-level, block-structured language. Credit may be given for both Computer Science 110 and 161.

COURSE REQUIREMENTS:

You have one week to question your grades once they are posted. After that, they are final. It is the responsibility of the student to make sure that his/her grade is posted correctly. Contact instructor immediately if you have any questions concerning your grade.

If you have any problems with University equipment and methods, you should seek assistance of the instructor as soon as possible. Such claims cannot be grounds for concessions after deadlines have passed and definitely not at the end of the semester.

Complete all assignments on time. Late assignments will not be taken.

E-Mails will only be accepted from “W” Accounts (University requirement)

Read all assigned materials.

Be personally responsible for all work during the course of the semester.

Exams will be on text and homework/assignments, online quizzes,handouts, discussions and any other materials provided to you as part of this course.

Complete the assignments, quizzes and exams yourself!

Evaluate software and Internet materials.

Insure that grades posted online through the Blackboard system are correct and recorded correctly. http://www.roomie.selu.edu/

You have one week to question your grades once they are posted. After that, they are final. It is the responsibility of the student to make sure that his/her grade is posted correctly.

You are encouraged to help each other. In addition to electronic communication, in the past students have met in campus labs to help each other out. This has been of great benefit to students both in terms of what they learned in the course and how much they enjoyed the course. You are not, however, to do someone else’s work for them. What is the limit of assistance? You are allowed to explain how to do something or show them how to do it. You are not allowed to do it for them.

I will maintain a list of frequently asked questions FAQs. Please consult these before emailing me or posting on the discussion board.

Refer to Blackboard for all information relative to this course, Grades, announcements, and some assignments will be posted on Blackboard.

When grades are posted email announcements will be sent. Contact the instructor regarding your grade only after you checked Blackboard and noticed the grade is not posted.

Understand that it is your responsibility to keep back ups of all your work.

Americans with Disabilities Act: If you are a qualified student with a disability seeking accommodations under the Americans with Disabilities Act, you are required to self-identify with the Office of Disability Services, Room 203, Student Union. More information can be obtain at this web address, http://www.selu.edu/stulife/handbook/ada.htm#Americans%20with%20Disabilities%20Act

CLASS PROCEDURES & PARTICIPATION: Students are expected to follow instructions given by the instructor through Blackboard and/or the Instructor’s website. Announcements are placed on Blackboard regularly.

Class Attendance: Students are expected to attend class regularly and punctually unless illness or an extreme emergency arises. In these cases a doctor’s excuse is required. Excessive absences may jeopardize your chances of success in this course. In cases of excessive absenteeism, the Instructor has the option to drop a student that is absent at least 10% of the required attendance prior to the drop date. However, it is ultimately the student’s responsibility to drop the course by the drop date, not the Instructor’s. Please refer to the current catalogue regarding attendance regulations, http://www.selu.edu/stulife/handbook/index.htm/

Excessive Absences:

Classroom Section: A student accumulating six or more unexcused absences in the classroom section may be dropped at the discretion of the instructor.

  • Classroom Decorum: Free discussion, inquiry, and expression are encouraged in this class. Classroom behavior that interferes with either (a) the instructor's ability to conduct the class or (b) the ability of students to benefit from the instruction is not acceptable. Examples may include routinely entering class late or departing early, use of beepers, cellular telephones, or other electronic devices; repeatedly talking in class without being recognized; talking while others are speaking, or arguing in a way that is perceived as "crossing the civility line". In the event of a situation where a student legitimately needs to carry a beeper/cellular telephone to class, prior notice and approval of the instructor is required. Classroom behavior which is deemed inappropriate and cannot be resolved by the student and the faculty member may be referred to the Office of Judicial Affairs for administrative or disciplinary review as per the Code of Student Conduct which may be found at http://www.selu.edu/StudentAffairs/Handbook/

http://www.selu.edu/stulife/handbook/codeof.htm

  • Children in the classroom: It is university policy that the classroom is not a place for children, and that students are not to bring their family members for day care or baby sitting.
  • E-mail correspondence: Only Southeastern’s e-mail addresses will be used per University policy, e-mails from any other source will not be read or otherwise responded to.
  • Academic Integrity: Students are expected to maintain the highest standards of academic integrity. Behavior that violates these standards is not acceptable. Examples are the use of unauthorized materials, communication with fellow students during an examination, attempting to benefit from the work of another student and similar behavior that defeats the intent of an examination or other class work. Cheating on examinations, plagiarism, improper acknowledgement of sources in essays and the use of a single essay or paper in more than one course without permission are considered very serious offenses and shall be grounds for disciplinary action as outlined in the current General Catalog.
  • Detection of Plagiarism: Students agree by taking this course that all required papers or other submitted materials may be subject to submission to Turnitin.com (or another similar entity) for the detection of plagiarism. All submitted papers will be included as source documents in the Turnitin.com reference database (or a similar database) solely for the purpose of detecting plagiarism of such papers. Use of Turnitin.com service is subject to the Terms and Conditions of Use posted on the Turnitin.com website. Use of other services will be subject to the Terms and Conditions of Use posted on the their respective websites. Alternatively, if such a site is not provided by the vendor, documents explaining the Terms and Conditions of Use of the product will be placed on reserve in the library or posted on the class website.

OTHER REQUIREMENTS:

GRADING:

Test/Assignments & Makeups: Homework/assignments are due on the assigned dates whether or not the student attends. Late homework/ assignments are not accepted. The only exception to this rule is for medical emergencies. You must provide a doctor’s note with your late work. No makeup exams will be given without PRIOR approval of the instructor and these must be made within two (2) class days of the exam date. Making such arrangements is the responsibility of the student.

Scale:

90 – 100 = / A
80 - 89 = / B
70 - 79 = / C
60 - 69 = / D
Below 60 = / F

HOW TO SUCEED IN THE COURSE:

Keep up with the material covered in the class. If you don’t understand something get help immediately. It is expected that students attend class. Assignments completed during class may be collected and graded. Students not present on those occasions will receive a zero on those assignments unless a doctor’s note is provided. Absences will negatively impact your grade in a number of ways: 1) loss of points for missing quizzes, assignments, homework and exams; 2) missing announcements concerning quizzes, assignments, homework and exams; and 3) missing information provided in class which will required for later quizzes, assignments, homework and exams.

EXAM CHAPTERS:(Approximate)

Chapter 01: Introduction to Computers, Programs, and Java

Chapter 02: Primitive Data Types and Operations

Midterm 1

Chapter 03: Selection Statements

Chapter 04: Loops

Midterm 2

Chapter 05: Methods

Chapter 06: Arrays

Final (Comprehensive)

CMPS 161 – Algorithm Design and Implementation I

Coordinator: Kammerdiener

Last Updated:8/19/2008

Current Course Description: Credit 3 hours. Prerequisite: Mathematics 161 or 165 or permission of the Department Head. Basic concepts of computer programming, problem solving, algorithm development, and program coding using a high-level, block structured language. Credit may be given for both Computer Science 110 and 161.

Minimum Topics:

• Fundamental programming constructs: Syntax and semantics of a higher-level language; variables, types, expressions, and assignment; simple I/O; conditional and iterative control structures; functions and parameter passing; structured decomposition

• Algorithms and problem-solving: Problem-solving strategies; the role of algorithms in the problem-solving process; implementation strategies for algorithms; debugging strategies; the concept and properties of algorithms

• Fundamental data structures: Primitive types; single-dimension and multiple-dimension arrays; strings and string processing

• Machine level representation of data: Bits, bytes and words; numeric data representation; representation of character data

• Human-computer interaction: Introduction to design issues

• Software development methodology: Fundamental design concepts and principles; structured design; testing and debugging strategies; test-case design; programming environments; testing and debugging tools

Learning Objectives: Students will be able to:

  • Analyze and explain the behavior of simple programs involving the fundamental programming constructs covered by this unit.
  • Measured via programming assignments, and tests.
  • Modify and expand short programs that use standard conditional and iterative control structures and functions.
  • Measured via programming assignments, and tests.
  • Design, implement, test, and debug a program that uses each of the following fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, and the definition of functions.
  • Measured via programming assignments, graded class activities and homework.
  • Choose appropriate conditional and iteration constructs for a given programming task.
  • Measured via programming assignments, and tests.
  • Apply the techniques of structured (functional) decomposition to break a program into smaller pieces.
  • Measured via programming assignments.
  • Describe the mechanics of parameter passing.
  • Measured via quizzes and tests.
  • Create algorithms for solving simple problems.
  • Measured via programming assignments, and tests.
  • Use pseudo code or a programming language to implement, test, and debug algorithms for solving simple problems.
  • Measured via programming assignments.
  • Describe some strategies that are useful in debugging.
  • Measured via tests.
  • Discuss the representation and use of primitive data types and built-in data structures.
  • Measured via tests.
  • Discuss the declaration, representation, and simple use (such as concatenation) of strings.
  • Measured via tests.
  • Describe how scalars, strings, and arrays are allocated and used in memory.
  • Measured via tests.
  • Write programs that use arrays (single-dimension and multi-dimension) and strings.
  • Measured via programming assignments, and tests.
  • Choose the appropriate data structure for modeling a given problem.
  • Measured via programming assignments, and tests.
  • Describe the ranges and memory requirements of different primitive data types
  • Measured via tests.
  • Describe the internal representation of characters and strings for textual data.
  • Measured via homework assignments, and tests.
  • Compare and contrast compiled and interpreted execution models, outlining the relative merits of each.
  • Measured via homework assignments, and tests.
  • Describe the phases of program translation from source code to executable code and the files produced by these phases.
  • Measured via tests.
  • Identify and describe the properties of a variable such as its associated address, value, scope, persistence, and size.
  • Measured via tests.
  • Discuss type incompatibility.
  • Measured via tests.
  • Demonstrate the difference between call-by-value and call-by-reference parameter passing.
  • Measured via tests.
  • Defend the importance of abstractions, especially with respect to programming-in-the-large.
  • Measured via tests.
  • Discuss the properties of good software design.
  • Measured via tests.
  • Select and apply appropriate design patterns in the construction of a software application.
  • Measured via programming assignments.
  • Demonstrate the capability to use a range of software tools in support of the development of a software product of medium size.
  • Measured via programming assignments.

Units covered:

PF1Fundamental programming constructs (9/9)

PF2Algorithms and problem-solving (3/6)

PF3Fundamental data structures (2/14)

AR2Machine level representation of data (1/3)

PL3Introduction to language translation (1/2))

PL4Declarations and types (1/3)

PL5Abstraction mechanisms (1/3)

SE1Software design 3 core hours (3/8)

SE3Software tools and environments (2/3)

Program Objectives Met:

a / An ability to apply knowledge of computing and mathematics appropriate to the discipline
Justification: Students learn fundamental programming constructs such as sequence, selection, iteration and abstraction (use of methods), as well as fundamental data structures such as primitive types and arrays.
b / An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
Justification: Students learn to analyze a program through successive refinement and top-down design, to divide large problems into smaller ones, and to determine the data objects and tools that will be needed to solve a problem.
c / An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs
Justification: Students design, implement, and test several programs in this course to meet the instructor's specifications.
d / An ability to function effectively on teams to accomplish a common goal
Justification: Students work in a team in the first problem-solving assignment.
e / An understanding of professional, ethical and social responsibilities
Justification: Students understand their ethical responsibility to perform their own work on assignments and tests.
i / An ability to use current techniques, skills, and tools necessary for computing practice
Justification: Students learn to use the JGrasp integrated development environment, along with the current version of the Java JDK. They are exposed to some rudimentary use of the symbolic debugger in JGrasp. They are also required to use CVS (concurrent versions system) for code-base management and submission of assignments. In addition, they use 3rd party programming libraries with the JTF packages.

IMPORTANT DATES: http://www.selu.edu/admin/rec_reg/calendar/index.html

Spring 2009

Date / Day / Description
January 5-9 / Monday-Friday / Rental Textbook Pick-up Begins January 5; Open Registration Ends January 9.
January 9 / Friday / Early Fee Payment Deadline 4:30 p.m.
January 9-11 / Friday-Sunday / Final Schedule Adjustments 4:30 p.m. Friday - Midnight Sunday - only for students who paid fees by the early fee payment deadline.
January 12 -13 / Monday -Tuesday / Final Registration; Freshman Orientation; New Faculty/Staff Orientation.
January 13 / Tuesday / Enrollment Confirmation Deadline - Students who decide not to enroll in the Spring must cancel their enrollment by 6:00 p.m.
January 13 / Tuesday / Last day for undergraduate students to remove "I" grades.
January 14 / Wednesday / First Day of Classes - Regular semester and Term I.
January 19 / Monday / Martin Luther King Holiday.
February 12 / Thursday / Term I Classes: Last Day to withdraw or resign from the University.
February 16 / Monday / Graduation audits for Spring 2009 graduation candidates begin. No graduation applications will be accepted for Spring 2009 after this date.
February 23-25 / Monday-Wednesday / Mardi Gras Holidays.
March 9 / Monday / Term I Classes End.
March 10 / Tuesday / Term I Classes: Final Exams:T-TH schedule.
March 11 / Wednesday / Term I Classes: Final Exams:M-W schedule.
March 13 / Friday / Regular Classes: Last Day to withdraw or resign from the University.
March 16 / Monday / Term II Classes Begin.
March 16-20 / Monday - Friday / Priority Registration for Summer and Fall 2009 Classes.
March 18 / Wednesday / Term I grades due by 9:00 a.m.
April 10-17 / Friday - Friday / Spring Break
April 30 / Thursday / Term II: Last Day to withdraw or resign from the University.
May 8 / Friday / Last Day of Classes.
May 9 / Saturday / Saturday Only Classes - Final Exams.
May 11 / Monday / Deadline for Graduate Theses and Graduate Comprehensive Exams.
May 11-15 / Monday - Friday* / Final Examinations.
May 16 / Saturday / Commencement 10:00 a.m.
May 18 / Monday / Grades Due by 9:00 a.m. - Last day to return rental textbooks without a fine.

*Grades of prospective graduating students are due by 9:00 a.m., Thursday, May 14, 2009.

NOTE: CAMPUS DINING OPERATIONS WILL BE CLOSED WHEN UNIVERSITY CLASSES ARE NOT IN SESSION. PLEASE REFER TOAUXILIARY SERVICES FOR FURTHER INFORMATION. UNIVERSITY OFFICES WILL BE CLOSED ON JANUARY 19, 2009 (MARTIN LUTHER KING HOLIDAY), FEBRUARY 23-24, 2009 (MARDI GRAS), AND APRIL 10 & 13, 2009 (EASTER).

ALL RENTAL TEXTBOOKS MUST BE RETURNED TO TEXTBOOK RENTAL ON OR BEFORE

6:00 P.M. ON THE FIRST BUSINESS DAY FOLLOWING THE LAST DAY OF FINAL EXAMINATIONS. HOURS OF OPERATION EACH DAY DURING FINAL EXAMS: 7:45 A.M. - 6:00 P.M.

S. Russell CMPS 161Spring 2009

Page 1 of 7