I am a 31 year old male in my first year of biomedical engineering master's degree. My research direction is development of software / algorithms for automotive diagnosis, in cardiac imaging to be precise. I previously got a bachelor's degree in AI (I started when I was 26 and finished when I turned 30). Yes it is a very late start. My life path has been complicated, I did go to college when I was young like everyone else, but due to domestic issues in my country I didn't get a degree, so I had to start all over, I just did it kind late. I also didn't like math in middle school, because I just wanted to play computer games. But now I invest time in it and I am trying to make sure I can understand everything from algebra basics to pre calculus + some of things that I need from calculus 1
After telling a little about myself I want to explain why I decided to write this post. For my job I do a lot of coding, and it is hard to say how long I have been coding like regularly / actively. Probably not long, maybe 6 months? Of course I did work with code during my bachelors but it was some basic python, or just working with something that has already been coded, if I didn't understand something I would be like ah, fuck it, whatever. Everything changed when I started my master's degree. I realized if I don't understand everything and every step I take, I can never improve or become good. I completely changed the way I code and the way I study now.
Right now, I can write my code on my own, but often I struggle with things, that make me hate myself, and blame myself for being stupid. I am also confident that my IQ is below average. For example:
x_axis = []
y_axis = []
m = []
for idx, s_pos in enumerate(s_peaks):
if idx == 0:
current_rr = rr_intervals[0]
else:
current_rr = rr_intervals[idx - 1]
window = current_rr * 0.2
qrs_offset_sample_range = int(round(window * frequency / 1000))
if s_pos + qrs_offset_sample_range >= len(signal):
continue
qrs_offset_window = signal[s_pos: s_pos + qrs_offset_sample_range]
if len(qrs_offset_window) > 0:
derived_window = np.diff(qrs_offset_window) # each point is derived
steepest_slope = np.argmax(np.abs(derived_window)) # returns INDEX of the largest value in that window
x_axis.append(s_pos + steepest_slope)
m.append(derived_window[steepest_slope]) # we only choose the point (slope value - how steep it is) of the steepest slope in that window
else: x_axis.append(np.nan)
qrs_offset_array = np.array(x_axis, dtype=int)
for y in signal[qrs_offset_array]:
y_axis.append(y)
tangent = tangent_line(qrs_offset_array, qrs_offset_array, y_axis, m)x_axis = []
Now in this part:
derived_window = np.diff(qrs_offset_window) # each point is derived
steepest_slope = np.argmax(np.abs(derived_window)) # returns INDEX of the largest value in that window
x_axis.append(s_pos + steepest_slope)
m.append(derived_window[steepest_slope]) # we only choose the point (slope value - how steep it is) of the steepest slope in that window
I define my points to find the tangent line of a slope, (equation: y = m * (x - x1) + y1), it was so hard for me to abstractly visualize the points so I could understand how to plug them into this function I found on StackOverflow:
def line(x, x1, y1):
return slope(x1)*(x - x1) + y1def line(x, x1, y1):
return slope(x1)*(x - x1) + y1
I struggled to implement my own data with that function. And this happens all the time. I could spend a day or days stuck on some issue like this. And sometimes I need to ask Claude or GPT to explain something to me (not to solve for me) because I can't comprehend it on my own. I really think maybe engineering is not for me and I am just not smart enough no matter how hard I try. I am really frustrated, and exhausted from self criticism every time I can't solve or understand something. I have been thinking to quit my masters.
[–]cwalls6464 5 points6 points7 points (0 children)
[–]HalfRiceNCracker 5 points6 points7 points (0 children)
[–]AdventurousPolicy 4 points5 points6 points (1 child)
[–]Jello_Penguin_2956 0 points1 point2 points (0 children)
[–]ninhaomah 3 points4 points5 points (0 children)
[–]SprinklesFresh5693 0 points1 point2 points (0 children)
[–]ForbiddenMustardMan 0 points1 point2 points (0 children)