CMSC 341 Mr. Lupoli UMBC CMSC 341 Intro 1 Course Website Instructor site: on BlackBoard Central portal: on BlackBoard www.cs.umbc.edu/courses/undergraduate/341 (as a backup) Instructors office hours (Instructor site) TA names and office hours (Instructor Site)
TAs grade projects Syllabus (Central site) Class schedule including project, homework and exam dates (Instructor Site) Grading (Central site) Lecture slides (Central/Instructor site) Projects (Central site) UMBC CMSC 341 Intro
2 Student Honor Code UMBC Student Honor Code By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. To read the full Student Academic Conduct Policy, consult the UMBC Student Handbook, the Faculty Handbook, or the UMBC Policies section of the UMBC Directory. http://www.umbc.edu/provost/integrity/index.html UMBC CMSC 341 Intro
3 Cheating Sadly, many students are caught each semester Usually its one person trying to honestly help another But gives code other person just takes the code Catastrophic to your grade Will be placed in the Academic Integrity Database https://apps-my.umbc.edu/apps/ai/reports/about.php
UMBC CMSC 341 Intro 4 Textbook Data Structures and Algorithms, 2nd Edition Goodrich, Mount & Tamassia ISBN-13: 978-0-470-46044-3 Publisher: Wiley Copyright: 2011
UMBC CMSC 341 Intro 5 Prerequisites CMSC 202 Object Oriented Programming Class design
Method overloading and overriding STL classes In-depth understanding of the C++ language, debuggers, and the eclipse IDE CMSC 203 Proof by induction Permutations and combinations UMBC CMSC 341 Intro 6 Lecture/Active Learning style Example oriented
Discussion oriented Example code using eclipse Example of utility of data structures Most lectures would have some problem solving exercise Feel free to chime in if you have questions. Will have some group coding exercises
UMBC CMSC 341 Intro 7 Grade distribution 100 points total Homework (x 6): 12 points total Exams (x 2) = 30 points total
Final Exam = 20 points total Project 0 = 3 pts total Projects 1-5 (programming assign) = 35 points total MAX 10 BONUS Points (added to one Project) UMBC CMSC 341 Intro 8 Projects and Grace Days Projects are allowed to be late Up to 3 days (72 hours) MAX Then just a 0 You are allowed to use 3 Grace Days
Can be spent any where you want Grace Days are applied automatically Extra Grace Days are just wasted UMBC CMSC 341 Intro 9 Topics to be covered
Linear data structure: list, stacks, queues Trees (BST, RB trees, B-Trees, priority queue) Hashing Graphs, disjoint sets UMBC CMSC 341 Intro 10 Data Structure What is a data structure? How are they implemented?
UMBC CMSC 341 Intro 11 Abstract Data Type What is an ADT? UMBC CMSC 341 Intro 12 Why do we need Data structures Efficiency of almost any application is a function of the use of appropriate and efficient data structures
Search engines Social networking portals UMBC CMSC 341 Intro Operating systems 13 Why C++ over Java?
C++ remains a popular language in industry C++ is more suitable for 400-level courses such as OS and Graphics No one vendor owns C++ Java includes many of the data structures featured in this course. So does C++, as part of the Standard Template Library (STL) Java is more Platform Independent, but C++ is faster APIs for both languages are extensive UMBC CMSC 341 Intro 14 Course Tools -- Eclipse If you wish to develop your project on your laptop or PC, we recommend the use of the Eclipse IDE. The current version of Eclipse is called Kepler.
The download can be found here. Check out the course course resource page for help with Eclipse. UMBC CMSC 341 Intro 15 Course Tools Visual Studio Less buggy Not as many nice features Free through DreamSpark Videos on how to use in BlackBoard under UMBC Rookies
UMBC CMSC 341 Intro 16 Course Tools - Submissions Projects 0 5 Similar to submit Covered in detail in Project 1 You may use any IDE to develop your programs to be submitted for credit HOWEVER, the program needs to be able to run on GL in order to get credit If it runs on your laptop, but not on GL, it doesnt run, and it wont count UMBC CMSC 341 Intro
17 Course Tools - Make Make (makefile) is a Linux based tool for automating the build (compile, test) process Text based format Covered in CMSC 202 UMBC CMSC 341 Intro 18