The course covers introductory object-oriented problem solving, design, and programming engineering. Fundamental elements of data structures and algorithm design will be addressed. An equally balanced effort will be devoted to the three main threads in the course: concepts, programming language skills, and rudiments of object-oriented programming and software engineering.
CS 115, 221, or equivalent.
Working knowledge of a modern programming language.
Theudents will learn basic data types, data structures and basic algorithm design and analysis techniques including recursion. Programming skills in an object-oriented programming language will be substantially improved with respect to CS-115. The students will also become familiar with basic software engineering methodology.
Students will be proficient in:
Students will be familiar with:
Students will be proficient in:
Students will be proficient with the following issues:
Direct:
Homeworks are graded (comments added as deemed necessary to clarify the grade), and the correct answers are available from the class web page. The teaching assistant and instructor are available to clarify any homework question.
For program assignments, the student submits his or her solution electronically via the class web site. Besides the description of the program assignment, a grading sheet is provided online so that the student knows the criteria used in grading the assignment. The grader fills in the grading sheet, deducting points when needed. When it is not clear why points were deducted, the grader supplies comments.
After exams are graded and returned to students, the exam answers are provided online. The instructor (or teaching assistant) goes over any questions that the students want to review, either in class (if of a general nature), or personally with the student.
Student grades are available online from the class web site. To ensure privacy, each student is given a unique random number (not the university student number) that is used to access the student’s grades.
Indirect:
Student mastery of course outcomes are evaluated by:
The exams cover topics of the course covered up to the time that they are given. The weekly lab assignments illustrate the programming principles discussed in the lectures. As the semester progresses, the program assignments cover more topics and are of increasing difficulty. By completing the program assignments, the student shows a mastery of the course topics. The final exam is comprehensive, covering all the topics of the course. The student self-assessment of the course outcomes is measured by the CS-215 course evaluation questions included in the university course evaluation at the end of the semester.
Possible Textbooks:
D. S. Malik
C++ Programming: Program Design Including Data Structures
Thompson Course Technology