ossu / data-science

📊 Path to a free self-taught education in Data Science!
Other
18.77k stars 3.26k forks source link

Programming languages #80

Closed ahmed-cyber closed 2 years ago

ahmed-cyber commented 3 years ago

As data scientist python is your native language it's a bit annoying to learn an other programming language just for data structure and algorithms , So I think you may need to find alternative courses for data structure and algorithms using python

waciumawanjohi commented 3 years ago

I agree! A high quality algorithms course in Python would be preferable to a high quality algorithms course in Java. Suggestions for such a course (and evidence of its quality) are very welcome!

theahmadm3 commented 3 years ago

Can you suggest where I would get materials for that please?

On Thu, Jun 17, 2021, 12:38 AM Ahmed Mohammed @.***> wrote:

As data scientist python is your native language it's a bit annoying to learn an other programming language just for data structure and algorithms , So I think you may need to find alternative courses for data structure and algorithms using python

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ossu/data-science/issues/80, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARFC7V7VK36HDRMLOCZ3EU3TTEYWZANCNFSM462O4VWQ .

ahmed-cyber commented 3 years ago

I've tried Udacity Nano degree for data structure and algorithms so I highly recommend it , Also I have a conviction that data structure and and algorithms is related to certain concept not to language ,So you can follow up with python course for the practice but you can get the concept from where ever you feel comfortable @theahmadm3

theahmadm3 commented 3 years ago

Okay thank you, but is it free though?

On Thu, Jun 17, 2021, 7:31 PM Ahmed Mohammed @.***> wrote:

I've tried Udacity Nano degree for data structure and algorithms so I highly recommend it , Also I have a conviction that data structure and and algorithms is related to certain concept not to language ,So you can follow up with python course for the practice but you can get the concept from where ever you feel comfortable @theahmadm3 https://github.com/theahmadm3

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ossu/data-science/issues/80#issuecomment-863468900, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARFC7V366K3YP2DW73AMCJDTTI5QDANCNFSM462O4VWQ .

raghukovvuru commented 3 years ago

I suggest The Algorithm Design Manual by Steven Skiena (https://www.algorist.com/) . He also provided lecture videos for free (https://www3.cs.stonybrook.edu/~skiena/373/videos/).

waciumawanjohi commented 3 years ago

@raghubuilds Glad to see contributors jumping in with resources! Can you make a fuller case for this course? Is there evidence that other learners find this book/lectures to be high quality (online ratings/reviews)? Have you taken the course/read the textbook? What are the strengths/weaknesses? Does it teach the algorithms called for in our curricular guideline?

- Algorithm design: Students must develop the skill set to understand the problem, break
it into manageable pieces, assess alternative problem solving strategies, and arrive at an
algorithm that efficiently solves the problem.
- Programming concepts and data structures: Students should have the knowledge to
implement their algorithms using procedural and functional programming techniques and
their associated data structures, including lists, vectors, data frames, dictionaries, trees,
and graphs

Finally, does this course give equal or more feedback than the current offering? OSSU biases towards resources that give students feedback on how well they are mastering material. We can think of this as a hierarchy. Instruction only < exercises < exercises with solutions provided < exercises with auto-grader provided < projects with instructor feedback While it's unlikely that we'll find free courses where instructors are able to give feedback on individual projects, we should strive to identify materials that are as far along this hierarchy as possible.

waciumawanjohi commented 3 years ago

After further review, I do not believe that Steven Skiena's materials for his online course are an appropriate replacement for the algorithm courses in the Data Science curriculum. Skiena's course, Analysis of Algorithms, has a prerequisite requirement of an elementary data structures course (1 or 2). The materials are well made and there is clearly an ecosystem (lectures from multiple years, textbook, learner maintained wiki) that benefit students prepared for this material.

rootsmusic commented 2 years ago

@waciumawanjohi I appreciate your RFC, but I'd disfavor courses with few exercises to practice algorithms. Regarding Prof. Skiena's course, you objected to the "prerequisite requirement of an elementary data structures course". I'm puzzled by your objection, because the OSSU Data Science Curriculum has a section for "Data Structures and Algorithms". If data structures isn't necessary in the curriculum, then "data structures" should be deleted from that section heading.

P.S. @raghukovvuru can make a recommendation in issue #81.

waciumawanjohi commented 2 years ago

I appreciate your RFC, but I'd disfavor courses

This seems to be a comment most appropriate for the RFC.

I'm puzzled by your objection

I am concerned about courses that go to a depth unnecessary for learners. An algorithms course that asks for a previous data structures course suggests that it may do just that. That said, it is completely possible for 2 short courses to offer the same coverage and depth as one course. I encourage you to identify proposed courses and write up a comparison of them against the curricular standards.

waciumawanjohi commented 2 years ago

I'm going to close this issue, as there is an open RFC that aims to address the problem. Discussion of alternatives is best kept there.