Overview#

TL;DR
https://assets.interviewbit.com/assets/skill_interview_questions/data-structure/data-structure-types-8ca6352dd895aab5ced64c3339408031b70c5faaaa443aaa6c246981c694b841.png.gz

Data structures and algorithms are fundamental concepts in computer science that deal with the organization and manipulation of data.

A data structure is a way of storing and organizing data in a computer program so that it can be accessed and used efficiently. Some common data structures include arrays, linked lists, stacks, queues, trees, and graphs.

An algorithm is a set of instructions or procedures that a computer follows to solve a problem or perform a task. Algorithms are used to manipulate data in various ways, such as searching for specific information, sorting data, or performing mathematical operations.

Together, data structures and algorithms are essential tools for designing efficient and effective computer programs. By understanding how to choose the right data structure and algorithm for a specific task, developers can optimize the performance of their programs and improve their ability to handle large amounts of data.

CSC 212#

Review of basic principles of analysis of algorithm

Introduction to fundamental data structures and their algorithms arrays, lists, stacks, queues, trees, hash tables,graphs

Survey of classic algorithms for sorting and searching

Prerequisites: CSC 211 (at least C-) and MTH 180

Familiar Structures#

image

ARRAY

image

MATRIX

New Structures#

image

Linked List

image

Binary Tree

image

Graph

image

Hash Table

Making Connections#

image

CSC 212 is at the center of the image for a reason: passing this course is the ‘key to the kingdom’… It’s the last of the foundational courses and opens up the rest of the field. Hence why a firm grasp of this material is essential to be successful later…academically and career path…

Importance?#

What can be deduced??
image

This many hits denotes two things:

  1. There is an impossible amount of information out there on the subject

  2. When results fall in the ballpark of 20 million results, it’s safe to safe it may be a topic worth understanding well…

C++ / Programming Refresher??#

Read a book
https://cdn11.bigcommerce.com/s-gibnfyxosi/products/166105/images/167762/511Ui1iac8L__45873.1615580005.386.513.jpg?c=1
https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fnostarch.com%2Fsites%2Fdefault%2Ffiles%2Fstyles%2Fuc_product_full%2Fpublic%2Ftlap2.png%3Fitok%3DX2kWA4Kp&f=1&nofb=1&ipt=935ce77b254b3746f81101f84fa13c8ae2b843c3f2916aa0645f662c6e48ee0e&ipo=images
https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fnostarch.com%2Fsites%2Fdefault%2Ffiles%2Fstyles%2Fuc_product_full%2Fpublic%2Falgorithmic-thinking_frontcvr.png%3Fitok%3D1CGO_-51&f=1&nofb=1&ipt=623dcbf20adbb68d9d7c8724fb896a469d93f090ed1e2487ce58f6a3a41e86a4&ipo=images
Enroll in a MOOC (massive open online course)
https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Flever-client-logos.s3.us-west-2.amazonaws.com%2F63a8149d-79fd-4c15-8241-2a3d73c0445b-1607995671294.png&f=1&nofb=1&ipt=a500e56e0cc065a4b86d0342cedd85d5a8a42b0f901711affe4ce9354eab1aa2&ipo=images
https://edx-cdn.org/v3/prod/logo.png
Solve Challenges
https://open.kattis.com/images/kattis/judge.png?7f7dbf=?7f7dbf=
https://realtoughcandy.com/wp-content/uploads/2020/04/hackerrank.png

CLion#

Click anywhere to be hyperlinked to the sign up form…
https://altari2.com/wp-content/uploads/2022/08/clion_logo_300x300.png https://dashboard.snapcraft.io/site_media/appmedia/2017/12/Screen_Shot_2017-12-20_at_19.40.03.png

Labs & Assignments#

Labs #

Discussion and collaboration are allowed and encouraged. However, you must write your own code and/or comment each collaborators contribution.

Assignments #

Discussions and collaboration are allowed, however you must write your own code and solutions. This is non-negotiable.

All labs and assignments are to be turned in on time via Gradescope #

Late submissions are NOT accepted
Submissions via means other than Gradescope are NOT accepted

Plagiarism? #

Just don’t do it
If you get caught (chances are very high), your name(s) will be immediately reported for further sanctions

Setting Expectations#

Attend Lectures & Labs#

You get out what you put in…

Organize your time#

Schedule your time accordingly… Use a calendar/planner

Participate / Think Critically#

Lectures are discussion-based and conceptual, ask questions!!
Labs are practical: try, fail, try again… if fail, ask questions!!
Office hours: there are five TAs and one instructor on staff hired to help you succeed. Take advantage!!

Start early!!#

Time is your biggest enemy in this course, plan accordingly!!

Need Help??#

Post on EdStem #

Answer questions
Share information

Contact TAs#

Once again, they’re there for you!

Come to Office Hours#

Scheduled or by appointment, they’re available for you…

Get Help!!#

Facts
  • Data Structures & Algorithms courses tend to have a lower success rate than many of their counterparts. This is the nature of the subject matter being difficult to grasp.

  • Traditionally, these courses have about a 3:1 fail rate, meaning nearly 33% of students who enroll fail the course.

https://www.seton.com/media/catalog/product/d/i/directional-traffic-signs-look-double-arrow-l6432-lg.jpg

Fig. 7 if it isn’t one of them…#

Reasons for Unsuccessful Outcomes
  • No submission

  • No project