CMPE 180 A / Spring 2021, Course Schedule
Course Description
Object-oriented data organization and representation as strings, arrays, stacks, queues, dequeues, lists, sets, trees, tables, and graphs. Sorting and searching and algorithm design and performance analysis. Testing methods and data will be discussed
Course Learning Objectives
|
Description
|
CLO 1
|
Discuss and analyze a variety of fundamental concepts and practices in the
areas of software engineering.
|
CLO 2
|
Apply object-oriented software design methodologies in software programs.
|
CLO 3
|
Use standard abstract data types and data structures, including stacks, queues,
and linked lists, trees, in the design of software programs.
|
CLO 4
|
Apply standard algorithmic techniques including recursions, hashing,
searching, and sorting, in the design of software programs.
|
CLO 5
|
Use high-level software development tools, including advanced text editors,
compilers, linkers, source-level debuggers in implementation and debugging of
software programs.
|
Required Texts/Readings
Textbook
Textbook
• W. Savitch, Problem Solving with C++, 10th edition, Addison-Wesley ISBN-10: 0134448286; ISBN-13: 978-0134448282
• D.S. Malik, Data Structures Using C++, 2nd Edition, Course Technology, Cengage Learning, 2010, ISBN-10: 0-324-78201-2, ISBN-13: 978-0-324-78201-1,
References
• Adam Drozdek, Data Structures and Algorithms in C++, 4th Edition, Cengage Learning, 2012, ISBN-13: 978-1133608424, http://www.cengage.com/search/productOverview.do?Ntt=9781133608424||5589174712 6710748015748294781245019119&N=16&Ntk=APG||P_EPI&Ntx=mode+matcha llpart ial#TableofContents
• Michael T. Goodrich, et al, Data Structures and Algorithms in C++, 2nd Edition, Wiley, 2011, ISBN-13: 978-0470383278, http://www.wiley.com/WileyCDA/WileyTitle/productCd-EHEP001657.html
• Paul Deitel and Harvey Deitel, C++ How to Program, 9th Edition, Prentice Hall, 2013, ISBN-10: 0133378713, ISBN-13: 9780133378719, http://www.pearsonhighered.com/product?ISBN=0133378713, http://proquest.safaribooksonline.com.libaccess.sjlibrary.org/book/programming/cpluspl us/9780133378795
• Bjarne Stroustrup, The C++ Programming Language, 4th Edition, Addison-Wesley Professional, 2013, ISBN-13: 9780321563842, http://www.stroustrup.com/4th.html, http://www.informit.com/store/c-plus-plus-programming-language-9780321563842
Additional reading material will be distributed to the class as appropriate
Final Examination
The final exam is a comprehensive evaluation that tests the student on all topics studied in this class with focus on parts covered after the midterm. A mix of question format is usually employed including coding problems, terminology, multiple choice and other formats.
Grading Policy
• Extra credit options: not available but lowest quiz or homework may be dropped.
• List of the percentage weight assigned to various class assignments.
• Penalty (if any) for late or missed work.
• List of the percentage weight assigned to various class assignments:
45% Quizzes/Homework (weekly)
25% Midterm: Tuesday, March 16, 2021 6:00-8:45 pm.
30% Final: Thursday, May 25, 2021 at 5:15-7:30 pm.
No make-ups exams except in case of verifiable emergency circumstances; once you are back in school, you need to take the exam within a week assuming that you provide documents to justify your absent and it is for a short time. No credit for any late turnings.
Grade bands:
A+ : > 94 A : 90 - 94 A- : 85 - 89
B+ : 80 - 84 B : 75 - 79 B- : 70 - 74
C+ : 65 - 69 C : 60 - 64 C- : 55 - 59
D+ : 50 - 54 D : 45 - 49 D- : 40 - 44
F : < 40 (0.5 - 0.9) = 1 (0.1 - 0.4) = 0
Important: As an example, a student with a final grade of 96 / 100 will have a letter grade of A (not A+). I.e. no special handling of border situations will be performed and the grading scale above will be followed strictly.
“A minimum aggregate GPA of 3.0 Studies (R, S, & V) shall be required of all students as a graduation requirement.”
Classroom Protocol
See class policies to be posted in the class website.
CMPE 180 A / Spring 2021, Course Schedule (Schedule subject to change with fair notice via the class website).
Week
|
Savitch
Chapters
|
Malik
Chapters
|
Topics
|
02/02
|
|
|
Administrative
|
|
1,2,3
|
|
C++ Basics, Flow of Control
|
02/09
|
4
|
|
Procedural Abstraction, Functions 1
|
|
5
|
|
Functions 2
|
02/16
|
6
|
|
I/O Streams
|
|
7
|
|
Arrays
|
02/23
|
8
|
|
Strings, Vectors (In-Person: Problem Solving)
|
|
8
|
|
Strings, Vectors
|
03/02
|
10, 17
|
1
|
Algorithm complexity, C++ class
|
|
11, 15
|
2
|
Object-oriented Design: inheritance, polymorphism, overloading.
|
03/09
|
9
|
3
|
Pointers, virtual function, array-based list
|
|
18
|
4
|
Standard template library.
|
03/16
|
|
|
Midterm
|
03/16
|
13
|
5
|
Linked lists and unordered linked lists.
|
|
|
5
|
Ordered linked lists and doubly linked lists
|
03/23
|
14
|
6
|
Problem solving using recursion.
|
|
14
|
6
|
Recursion and backtracking
|
03/30
|
|
|
Spring Break
|
04/06
|
|
7, 8
|
Stacks and Queues (In-Person: Problem Solving)
|
04/13
|
|
9
|
Search algorithms
|
|
|
9
|
Hashing
|
04/20
|
|
10
|
Simple sorting algorithms (In-Person: Problem Solving)
|
|
|
10
|
Simple sorting algorithms, Quicksort
|
|
|
10
|
Merge-sort, Heapsort
|
04/27
|
|
11
|
Binary search trees and binary tree traversals
|
|
|
11
|
Binary search trees and binary tree traversals
|
05/04
|
|
11
|
AVL trees
|
05/11
|
|
11
|
B-Tree (In-Person: Problem Solving)
|
05/25
|
|
|
FINAL EXAM Tuesday, May 25, 5:15 – 7:30 pm
|
Important NOTE:
In rare occasions, the instructor may decide to administer evaluations where students are allowed to use their “paper notes”-(NO BOOK OR ELECTRONIC COPIES), so it is in your best interest to attend to class and take good notes; they may be handy in such situations.
Project grades are assigned to the whole team and each member gets the same grade unless a given member is suspected of not doing any work, in such cases the person could receive zero on the project and the report if the person fails to answer questions on her share of the work or the overall project structure.
2021-03-24
Object-oriented data organization and representation as strings, arrays, stacks, queues, dequeues, lists, sets, trees, tables, and graphs. Sorting and searching and algorithm design and performance analysis. Testing methods and data will be discussed