Parameter Passing Mechanisms 1
16:49
Does Java Ever Pass by Reference?
11:02
Parameter Passing Introduction
9:49
endl vs '\\n'
9:09
Жыл бұрын
File Reading in C++
7:59
2 жыл бұрын
Path Compression in Disjoint Sets
4:54
Disjoint Sets
14:28
2 жыл бұрын
Function Activation Records
13:08
2 жыл бұрын
Rehashing
4:59
2 жыл бұрын
Collision Handling in Hash Tables
16:44
Hash Table Basics
8:10
2 жыл бұрын
Parse Trees
8:37
3 жыл бұрын
Recursion Best Practices
9:20
3 жыл бұрын
Recursion Basics
10:36
3 жыл бұрын
Overloading Methods in Java
13:21
3 жыл бұрын
Writing Classes In Java
19:14
3 жыл бұрын
Introduction to Grammars and BNF
14:49
Object Reference Variables in Java
7:15
Naming in Java
5:51
3 жыл бұрын
Types in Java
23:11
3 жыл бұрын
Insertion Sort
11:16
3 жыл бұрын
Getting Started with Java in VS Code
12:57
Variables in Programming
4:29
3 жыл бұрын
Пікірлер
@hectormartinez6981
@hectormartinez6981 9 күн бұрын
Loved it, pretty clear!
@maryelainecaliff
@maryelainecaliff 9 күн бұрын
I'm glad you found it helpful.
@showtimeGiggles
@showtimeGiggles 12 күн бұрын
What a sweet and simple explanation, thank you!
@maryelainecaliff
@maryelainecaliff 12 күн бұрын
Glad it was helpful!
@micklucas1451
@micklucas1451 15 күн бұрын
Very good explination!
@maryelainecaliff
@maryelainecaliff 15 күн бұрын
Thank you. I hope you found it helpful.
@prathambhushan4859
@prathambhushan4859 17 күн бұрын
from where can i find the slides, for any future revision
@maryelainecaliff
@maryelainecaliff 17 күн бұрын
The slides are not publicly available, and I'm not actually sure I have kept them.
@prathambhushan4859
@prathambhushan4859 13 күн бұрын
@@maryelainecaliff oh no worries, I will manage, thank you for replying
@lianyang8277
@lianyang8277 29 күн бұрын
very good teaching, thank you!
@maryelainecaliff
@maryelainecaliff 24 күн бұрын
Glad you found it helpful!
@minhtanchu240
@minhtanchu240 Ай бұрын
Thank you so much professor Califf
@maryelainecaliff
@maryelainecaliff Ай бұрын
You are very welcome. Glad you found it helpful.
@azadsinghdinkar3951
@azadsinghdinkar3951 Ай бұрын
thank you so much for this playlist
@maryelainecaliff
@maryelainecaliff Ай бұрын
I'm glad you found the videos helpful
@هند-س4ز
@هند-س4ز Ай бұрын
i am very thankful for you , i was losing my mind! until i watched your video❤
@maryelainecaliff
@maryelainecaliff Ай бұрын
I'm happy you found it useful!
@hurdyga
@hurdyga Ай бұрын
Thanks so much for a video. Clear explanation. Love it
@maryelainecaliff
@maryelainecaliff Ай бұрын
I'm glad you found it helpful!
@yola1444
@yola1444 Ай бұрын
thanks professor my professor was lowk trolling with this one!
@pockigit7668
@pockigit7668 Ай бұрын
This helped me so much, you explained it really well. Thank you
@maryelainecaliff
@maryelainecaliff Ай бұрын
Glad it helped!
@Salamanca-joro
@Salamanca-joro Ай бұрын
thank you so much for this video
@maryelainecaliff
@maryelainecaliff Ай бұрын
I'm glad you found it helpful
@bambozi
@bambozi Ай бұрын
Very clear! I love the way you explain it.
@maryelainecaliff
@maryelainecaliff Ай бұрын
Glad it was helpful!
@mhmmd4286
@mhmmd4286 2 ай бұрын
ABSOUELTLY THANK YOU
@maryelainecaliff
@maryelainecaliff 2 ай бұрын
Glad you found it helpful.
@NgabiranoMarvinArthur
@NgabiranoMarvinArthur 2 ай бұрын
I need to know when do we include "term" and "factor" in the parse tree and how are they used.
@maryelainecaliff
@maryelainecaliff 2 ай бұрын
That is purely a matter of looking at the grammar. Each parent and its children must match one of the rules for that nonterminal. And reading across the leaves of the tree from left to right, you must have the "sentence" that you're trying to parse. If both of those things are true, you have a correct parse tree.
@NaomyLimatukei
@NaomyLimatukei 2 ай бұрын
Thanks for the video i love this
@lucnguyen4544
@lucnguyen4544 2 ай бұрын
Thank you
@fikernewberhanu9201
@fikernewberhanu9201 2 ай бұрын
This was great explanation. Thanks for the video. Subscribed right after!
@maryelainecaliff
@maryelainecaliff 2 ай бұрын
I'm glad you found it helpful, and hope some of the other videos are as well. I also hope to give you some new content eventually.
@abdom.abdellatif4807
@abdom.abdellatif4807 2 ай бұрын
very smooth explanation. thanks, Dr.
@maryelainecaliff
@maryelainecaliff 2 ай бұрын
Glad it was helpful!
@rhysespieces_
@rhysespieces_ 2 ай бұрын
You just turned my prof's entire two hour lecture into a fifteen minute video. Thank you so much
@maryelainecaliff
@maryelainecaliff 2 ай бұрын
I'm glad you found it helpful.
@AlirezaBagheri-j6g
@AlirezaBagheri-j6g 2 ай бұрын
I hate BNF.
@maryelainecaliff
@maryelainecaliff 2 ай бұрын
I'm sorry to hear that. It's a useful formalism.
@JohnSmith-yv5bn
@JohnSmith-yv5bn 2 ай бұрын
At 18:25 we expected the difference between memory addresses in neighboring indexes to be 8 bytes, but looks like the difference between index 1 and 2 is only 2 bytes?
@maryelainecaliff
@maryelainecaliff 2 ай бұрын
This is a hexadecimal number (base 16), not a decimal number, so the difference is, in fact, 8 bytes.
@smarikabehera9358
@smarikabehera9358 3 ай бұрын
i have my oops exam tmrw, thankyu for this
@maryelainecaliff
@maryelainecaliff 3 ай бұрын
Glad you found it helpful.
@AsmaaDiis
@AsmaaDiis 3 ай бұрын
I found this video not knowing anything about parse three and guezz what im thrilled getting 2 examples done
@maryelainecaliff
@maryelainecaliff 3 ай бұрын
Glad it was helpful.
@juliusgummersbach6391
@juliusgummersbach6391 3 ай бұрын
This was a great class to refresh my c++ knowledge for my new job. Straight to the point. The timestamps were very helpful to focus on the things I forgot. Thanks a lot!
@maryelainecaliff
@maryelainecaliff 3 ай бұрын
I'm glad you found it helpful, and I have to credit one of my former students for adding the timestamps, which I agree are very useful.
@hszr5852
@hszr5852 4 ай бұрын
It is very similar to Context-Free Grammar!
@maryelainecaliff
@maryelainecaliff 3 ай бұрын
BNF grammars can represent regular, context free, or context sensitive grammars. It's just a different syntax for the grammar that we typically use in theory contexts.
@Oglser
@Oglser 4 ай бұрын
Thanks. The only video that actually made sense after 12 hours of studying gibberish
@maryelainecaliff
@maryelainecaliff 4 ай бұрын
I'm glad you found it helpful.
@hossainratul6344
@hossainratul6344 4 ай бұрын
thank you
@coroutinedispatcher
@coroutinedispatcher 4 ай бұрын
ahhhh feels like university again
@maryelainecaliff
@maryelainecaliff 4 ай бұрын
Definitely who it was created for. ;-)
@AlexN2022
@AlexN2022 4 ай бұрын
still uncreal why this algorithm is O(N). We have O(N) non-leafs to visit, and each may have to go all the way down to the leaf, which means each may need O(logN) swaps. What's stopping ths from being O(N*logN)?
@maryelainecaliff
@maryelainecaliff 4 ай бұрын
The basic idea here is that we know that most of our operations are not operating on the whole tree. We have at most N/2 percolate down operations to do. But half of those are constant time operations, guaranteed to require just one comparison, because they are performed on a node whose children are leaves. And half of the remaining are no more than 2 and so on. We can take advantage of that knowledge to work out the math and see that the number of comparisons for the whole process is actually O(n).
@AlexN2022
@AlexN2022 4 ай бұрын
@@maryelainecaliff so, N/2 total nodes, comprised of: N/4*1 + N/8*2 + N/16*4.. So all parts of the N/2 set may require up to N/4 operations each. Doesn't look like O(N)
@maryelainecaliff
@maryelainecaliff 4 ай бұрын
@@AlexN2022 I recommend 2 things. For intuitive understanding, see what happens with worst case situations (form a max heap from an array sorted in a ascending of moderate size and count). For the math, dig up one of the actual formal proofs from a textbook or website. I am not going to repeat that work here.
@kanelupis
@kanelupis 4 ай бұрын
Underrated series
@maryelainecaliff
@maryelainecaliff 4 ай бұрын
Thank you.
@tejashiremath3458
@tejashiremath3458 4 ай бұрын
Really Well Explained!
@maryelainecaliff
@maryelainecaliff 4 ай бұрын
Glad it was helpful!
@wrrsean_alt
@wrrsean_alt 4 ай бұрын
Very clear. Thanks!
@maryelainecaliff
@maryelainecaliff 4 ай бұрын
Glad it was helpful!
@HenrysCSGO
@HenrysCSGO 5 ай бұрын
thank you!!
@maryelainecaliff
@maryelainecaliff 5 ай бұрын
You're welcome!
@maddiem00032
@maddiem00032 5 ай бұрын
this is so helpful thank you! finally understand what flushing the buffer actually means
@maryelainecaliff
@maryelainecaliff 5 ай бұрын
I'm glad it helped.
@timi_t_codes
@timi_t_codes 5 ай бұрын
Excellent video/tutorial! Thanks a lot Dr Califf
@maryelainecaliff
@maryelainecaliff 5 ай бұрын
Glad you found it helpful.
@kotazkozla253
@kotazkozla253 6 ай бұрын
słabe niestety eh duzo szczekania malo robienia
@bissa95
@bissa95 6 ай бұрын
hello dear ms mary can i contact you privately - iam a begginner want to find ahelp to be a professional progamer and need a hand of help from you if you dont mind. thanks in advance
@guilhermecampos8313
@guilhermecampos8313 6 ай бұрын
Finally someone who doesn't simply say that std::endl flushes the buffer, but explains it in more detail! Thank you very much.
@maryelainecaliff
@maryelainecaliff 6 ай бұрын
Glad it was helpful!
@dmytroboiko1
@dmytroboiko1 6 ай бұрын
thanks a lot! the applications section is very useful!
@maryelainecaliff
@maryelainecaliff 6 ай бұрын
I'm glad you found it helpful.
@dmytroboiko1
@dmytroboiko1 6 ай бұрын
This is great explanation! Thank you very much! 🙏
@maryelainecaliff
@maryelainecaliff 6 ай бұрын
I'm glad you found it helpful.
@ferael0013
@ferael0013 6 ай бұрын
You are an amazing teacher, thank you for this
@maryelainecaliff
@maryelainecaliff 6 ай бұрын
I'm glad you found it helpful.
@Fuckyourfeelings-x8x
@Fuckyourfeelings-x8x 6 ай бұрын
very helpful. thank you
@hsoftdev17
@hsoftdev17 6 ай бұрын
I've coded in C++ but it was ages ago and I've been coding in Java and C# for the last 25 and 15 years respectively. I love this series for all the same reasons as everyone else has said, definitely don't need beginner stuff, just need to understand better how to mentally translate to C++ and to understand the differences. This video says that dynamically allocated arrays are initialized and I'm not sure if it's just different now because of C++20 or something I did wrong, but it doesn't appear to be the case for me. I get some garbage numbers at the beginning of the dynamic and then a pile of zeros instead of it being all zeros like when you showed it. I realize I'm late to this party since all these videos were from a few years ago, but if you are looking for ideas on how to extend this series (or perhaps make a separate series?) I would be very excited to see a series of videos with topics that fit the category of "these are java.util things, and this is how you use C++ STL things that are similar."
@maryelainecaliff
@maryelainecaliff 6 ай бұрын
Dynamic arrays are not generally initialized by default, but they can be initialized with syntax like this: int * myDynIntArray = new int[20]{0}; If I said they were, that was definitely mis-speaking. I'm glad you have found the series useful.
@siyabongampongwana990
@siyabongampongwana990 7 ай бұрын
Thank you for the video, really appreciate it.
@maryelainecaliff
@maryelainecaliff 7 ай бұрын
Glad it was helpful!
@pseudolimao
@pseudolimao 7 ай бұрын
This is it. If you don't understand dijkstra's with heaps, this demystifies it. I just looked at the code implementation and couldn't comprehend it, but this decomposition helped tremendously. The key takeaway is how the priority queue pushes down costly jumps to a node X, so when we get to that item in the queue, that node X will already be "marked" by a shorter path, meaning we can discard that item from the queue, essentially skipping steps. Moreover, since we push "up" the uncostly jumps, our "marks" essentially give us the shortest path to each node, meaning we can stop the algorithm as soon as we have marks equal to the number of nodes. If you imagine a big graph, you're going to "push down" into the queue a bunch of costly items, you're going to "mark" the nodes rather quickly, finding the shortest path as soon as you mark them all, and discarding a considerable amount of items in the process. Notice too, that if you have a huge number of edges, compared to vertices, you're doing a lot of work sorting edges in the queue, that you could spend doing lookups, so intuitively you can start being suspicious that this solution might be equal or worse than the naive approach. I am really pleased with what i unlocked watching this video, thank you Mary. You've also shown me i should, ideally, grab a pen and paper and just go through problems to understand them.
@maryelainecaliff
@maryelainecaliff 7 ай бұрын
I'm glad you found the video helpful. I think you're right that the key to understanding is with the ideas and diagrams, because we don't get bogged down in the specifics of code. Then once we really understand what's going on, it becomes much easier to translate into code (in any language).
@pseudolimao
@pseudolimao 7 ай бұрын
@@maryelainecaliff the code is just that, code for a set of ideas. and some key ideas, especially for these fundamental algorithms' optimized implementations, are very obfuscated within the code. From the array implementation to the priority queue one, the key takeaway is that sorting the queue by edge weight gives us the optimal edge as the first edge we process between those nodes (if one edge is always smaller than two, aka no negative weights), which is almost impossible to decipher this without brute forcing examples in your head/paper or having someone explain it to you, but it's really beautiful once you actually grasp the intention.
@anerdindisguise
@anerdindisguise 7 ай бұрын
Only thing I would recommend is looking at cmake instead of make files. They are closer to the maven/gradle workflows, java/spring developers are use to.
@A57278
@A57278 8 ай бұрын
Dr, why you stopped 😢
@maryelainecaliff
@maryelainecaliff 7 ай бұрын
I've been very busy. I'm hoping to get a few new videos out this summer.
@JordanCagle-k9x
@JordanCagle-k9x 8 ай бұрын
live roger reaction
@niranjanm5942
@niranjanm5942 8 ай бұрын
Explained in a way that's very easy to understand and thanks for not giving the code. Now I can try it on my own and test my understanding
@maryelainecaliff
@maryelainecaliff 8 ай бұрын
That's my goal. I'm glad you found it helpful.