A lot of people come on this board wondering whether certain programs are worth the time/effort, so I just wanted to give some quick notes on the ‘Scientific Computing With Python” course on FreeCodeCamp.
The series is taught in 56 segments that are made up of 5-15 minute videos, presented by Charles Severance (“Dr. Chuck”). Each segment has a quiz question that you need to complete to move forward, and some of the segments have optional “additional resources” (which I didn’t do at all). At the end, there are 5 projects that need to be completed to earn the cert.
The videos are presented in a lecture style, which I don’t really care for. Previously I had done a long Programming With Mosh video tutorial, as well as some shorter ones by others, where you see someone live-coding. Those are my preferred learning style. Whereas Dr. Chuck presents a series of PowerPoint slides and marks them up with an e-pen. I personally found it much harder to program along with this style of video.
In order to complete the projects, you need an understanding of Python basics. A lot of the lectures are on stuff like APIs, Regular Expressions, Web Scraping, XML , etc. You don’t need to know any of this for the projects. So about half the series content is what I’d describe as “bonus material” that you can just sit back and watch, and I plan to find a different source when I really want to learn that stuff.
Building projects are really where I learned the most, but that’s probably true of most programs like this.
There are 5 of them:
-
Arithmetic Formatter was an easy programming challenge, but the output was tedious. It’s one of those where you have to do a lot of white space counting. Any little extra space or dash will cause the program tests to fail.
-Time calculator was a fun one. It could be programmed in multiple ways, so I had a fun time trying something unique.
-The Budget App was the bane of my existence while I was working on it. The base functionality wasn’t too bad, but the instructions were confusing. So I had to rewrite it a couple times. And the graph you have to build at the end was a very tedious component. Really hated building this thing. My code is a mess, but it works. Learned a lot about classes writing this at least.
-The Polygon Area Calculator was super easy compared the the other ones. Took me a min to figure out one piece of math, but overall took ~30 min to complete.
-The Probability Calc was my favorite. A super fun “simulate this experiment” project. I misunderstood a piece of it (specifically, what to do when too many balls are pulled out of the hat), so my code is a bit crazy. I basically just patched something on to get it working properly when it would be cleaner to rewrite the whole thing. But it works properly as is, so I didn’t bother making it clean.
So TLDR: I didn’t love the lectures, but I learned a lot from the projects. Even though the projects were sometimes frustrating.
As an absolute beginner, how long does it take to do Scientific Computing With Python? How many hours would it approximately take for all the exercises and projects (assuming as free as possible, 8-9 hours a day availability for a month)
Side question: is it better to complete Harvard CS50P instead? or do both?
You should do it in the original website instead, as the section in freeCodeCamp only presents the videos and lacks the original assignments and materials present in py4e.
I wish i had done this as the course really starts to get more technical in the second half, and the original material and problems really help to finally start getting it.
Hello!
I have no background in computer science, data analytic, or coding at all. I've always been interested in learning how to code. A few days ago I began going through the Scientific Computing with Python (Beta) course(?) on freecodecamp website. I finished the first module and I feel like I haven't really learned anything. I can follow the instructions and go through each module/project pretty quickly but at the end of the day it feels like I don't know what I'm actually doing. I'm just following directions without actually knowing what it does or what it means. maybe a lot of the tasks are common sense to someone who is a CS major but I am completely lost. Is there a website or course or book that teaches the fundamentals?
So I did 2 guided scientific computing projects from freecodecamp website and I asked chatgpt as well that should I do this certification if I want to become a data analyst and it said that it will aid you but 2 projects down I don't feel like scientific computing projects are for data analysts. Should ai continue or should I abandon it.
Course Link: https://www.freecodecamp.org/learn/scientific-computing-with-python/
So far, the posts that I'm seeing on this platform is kind of outdated. The change that happened is that way before, it's still on beta. Instead of Video Courses, there is a guided step-by-step line by line on how to code Python including different concepts.
As a beginner in Python but have prior knowledge with basic C# and Arduino, my opinion on taking this course so far (9/18 Project including| 1/5 Certification Projects) is that it's good because I want a course that's captivating and interactive (i dont wanna watch videoss ahhhh, i want to code to learn). But sometimes, you're tied by the instructions and the wordings/terminologies in the project is kinda hard to understand, I use AI to explain it to me or just search it on the forum.
I want to know what you guys' opinions about this course. Should I continue it or nah?? Thanks guys!!
edit:
- i want a certification also and i'm using https://roadmap.sh/python as my roadmap/checklist as well
Hey I am new to coding so I decided to start with Free Code Camp because I've heard nothing but good things about it. For transparency I am trying to learn the Godot engine for making games but was told it would be good to learn Python first to understand the syntax of a language (which I agree with after trying it out).
My question is, should I do the "Legacy Python for Everybody" course, or the "Scientific Computing with Python (Beta) Certification" class? I guess my concern is that while the python for everybody class sounds like it is for me, the "legacy" makes me think it is outdated in some way. Can someone clear this up for me? Thanks!
Why is the course titled as 'beta'? Does it mean we won't get a certificate after completing the projects?
I completed this first course, what should I focus on next? Obviously I want to keep focusing on Python, but what would be the best choice to keep learning?
(I still have a basic knowledge of Python.)
-
Data Visualization
-
APIs and Microservices
-
Data Analysis
-
Information Security
Thanks in advance :D
I landed a new job where I know that Python knowledge can help me progress faster (colleagues I will work with use Python on a daily basis for some data analytics/dev projects).
I already completed the responsive web design certification and started the JavaScript one, just out of boredom and without the purpose (initially) to use coding skills at work.
I initially planned to finish all certifications in the order suggested but since i got this new job maybe I could try and learn directly Python, since it will be knowledge i can actually make use of.
Is it feasible to take on the FCC course given my only coding knowledge so far is html/css + some very basics of javascript?
Later on with time i still plan to take the other courses on libraries/apis etc.
I think in this case since its work related you could do the python cert before the Javascript content. I completed the scientific computing with python cert yesterday and found the video course to be quite comprehensive. If its your first programming language then you'll want to supplement the video course with other YouTube videos, the official docs, hang out on the freecodecamp discord/chat and forums etc. Ask lots of questions and experiment with the code when you get unexpected behavior.
Go for it! Give it a try! I'm working through the Scientific Computing with Python (30% done, yay!) and Automate the Boring Stuff Udemy class (over 50% done with that one and would totally recommend going with the FCC class.) Since it's for work, I say it would be most helpful to learn it as soon as possible. I hope to get this certificate, the data analysis python one, and maybe the machine learning python one as well. For me, it's hoping to, well automate some boring stuff, make my life more efficient, and so I can hopefully market myself better for further job opportunities.
(Before FCC I had HTML knowledge originally from 20 years ago that I used in my teens, and very basic of R, SQL, and C++.)
Hey, hope you programmers are fine. I am right now learning Python from FreeCodeCamp with the Scientific Computing with Python course . I am almost done with it. I am thinking of doing desktop dev but I also want to do something else. I want to do something that
-
Doesn't have a lot of math involved
-
is NOT web development related
So any suggestions?
Well, what are you interested in? Hard to give suggestions without knowing you, since you can do anything. I don't know much about scientific computing. If you like video games, you could make your own game with PyGame, or maybe an emulator (see r/EmuDev).
Consider data analysis or visualization! You can work with datasets, create interactive plots, and tell stories with data without heavy math. Python's a great language for this, and you can start with popular libraries like Pandas and Matplotlib.
Today I was looking at the new Python course at https://www.freecodecamp.org/learn/python-v9/ , I noted that the new course is more detailed than the old one, I was happy to note that, even though Python is a dynamically-typed language, we can still hint to fellow programmers the expected data type for certain variables and also expected data type for a return value, for example
def demo_fuction(name: str, age: int) --> str:
return f'Hello {name} you are {age} years old'In addition, I don't think the old course had F-strings, hence there was no string interpolation. I am really grateful for the update
Hi everyone, I am doing a course called, "Learn Scientific Computing with python" and one of the sections of the course is, "Learn special methods by building a vector space", its from freecodecamp. But like the title says I am stuck on step 44. The step says:
In the same way __add__ is called under the hood when two objects are added together, the __sub__ method is called implicitly in case of subtraction.
Now, define an empty __sub__ method and give two parameters: self, and other. Inside your new method, create an if statement to check if self and other do not belong to the same class and return NotImplemented, as you did previously.
The block of code is:
def __sub__(self,other): if not isinstance(other, self.__class__): return NotImplemented
The whole code is:
class R2Vector:
def __init__(self, *, x, y):
self.x = x
self.y = y
def norm(self):
return sum(val**2 for val in vars(self).values())**0.5
def __str__(self):
return str(tuple(getattr(self, i) for i in vars(self)))
def __repr__(self):
arg_list = [f'{key}={val}' for key, val in vars(self).items()]
args = ', '.join(arg_list)
return f'{self.__class__.__name__}({args})'
def __add__(self, other):
if type(self) != type(other):
return NotImplemented
kwargs = {i: getattr(self, i) + getattr(other, i) for i in vars(self)}
return self.__class__(**kwargs)
def __sub__(self,other):
if not isinstance(other, self.__class__):
return NotImplemented
class R3Vector(R2Vector):
def __init__(self, *, x, y, z):
super().__init__(x=x, y=y)
self.z = z
v1 = R2Vector(x=2, y=3)
v2 = R3Vector(x=2, y=2, z=3)
print(f'v1 = {v1}')
print(f'v2 = {v2}')
class R2Vector:
def __init__(self, *, x, y):
self.x = x
self.y = y
def norm(self):
return sum(val**2 for val in vars(self).values())**0.5
def __str__(self):
return str(tuple(getattr(self, i) for i in vars(self)))
def __repr__(self):
arg_list = [f'{key}={val}' for key, val in vars(self).items()]
args = ', '.join(arg_list)
return f'{self.__class__.__name__}({args})'
def __add__(self, other):
if type(self) != type(other):
return NotImplemented
kwargs = {i: getattr(self, i) + getattr(other, i) for i in vars(self)}
return self.__class__(**kwargs)
def __sub__(self,other):
if not isinstance(other, self.__class__):
return NotImplemented
class R3Vector(R2Vector):
def __init__(self, *, x, y, z):
super().__init__(x=x, y=y)
self.z = z
v1 = R2Vector(x=2, y=3)
v2 = R3Vector(x=2, y=2, z=3)
print(f'v1 = {v1}')
print(f'v2 = {v2}')I am stuck here so please any help is appreciated. I don't know what I am doing wrong. So if anyone is willing to help out please reach out. Thanks in advance!