Note: The class schedule changed since the first lecture. I have combined both C++ lectures into a single video, and added some live-coding sessions as well. This video was originally live streamed in Fall 2022 and edited for inclusion in the Fall 2024 course. This video is meant as an introduction to the C++ programming language for people who already know another programming language like Java / JavaScript / Python.
@AmmarShahinКүн бұрын
I have worked as a C++ developer in the automotive industry for over five years. I finally decided to follow my passion and learn game development. I just came across your course, and I'm now sitting down and enjoying a review of all my C++ knowledge.
@justchris84626 күн бұрын
BEST C ++ tutorial I've watched !
@not-a-living-soul3 ай бұрын
For those who were not in inperson class, professor mentioned in early UNIX systems, the default name for the output of an assembler or linker was a.out. The tradition carried forward even after compilers like GCC became more widely used.
@taintedtaylor25863 ай бұрын
You should do an episode on simple game networking, I love your explanations and especially your live coding session. I'd love to have a professor like you.
@DaveChurchill3 ай бұрын
@@taintedtaylor2586 I wish I could but I know almost nothing about networking!
@taintedtaylor25863 ай бұрын
@@DaveChurchill It’s ok, thank you so much for answering!
@kafkaphoenix3 ай бұрын
Thanks a lot for sharing all of this for free, really appreciated, amazing explanations aswell
@toby9999Ай бұрын
Brilliant course. Even though I've been a C++ developer for 28 years, I learned a few things.
@nortski783 ай бұрын
If this is anything like your SFML lectures then it will be gold dust!
@Anonymous-cn6zl2 ай бұрын
I love your teaching style and attitude. I hope we can have an absolute beginner C++ course as this is quite advanced to some of us.
@bzzz46303 ай бұрын
You are an excellent teacher 🙂
@siddharthd61412 ай бұрын
such a beautiful lecture !! i understood these consts and references and pointer's businesses so well ... i am very glad that i came through this course ! ❤
@computersciencestudentriverbat16 күн бұрын
Long video but very much worthwhile.
@Ficsher9793 ай бұрын
Thank you, Professor Dave 🎉🎉🎉🎉
@ebrahimesmaeilian3 ай бұрын
even if you are not new to C++ i absolutely recommend you watching this tutorial, it will give you some "Aaaaah so that's why......" moment that makes it extremely useful to watch.
@pascalauclair49732 ай бұрын
Many Thanks, clear explanations 👍
@moveonvillain10803 ай бұрын
1:30:00 If you are not seeing this warning it's probably because you have not told the compiler to do so. Simply add the flag -Wall when compiling to see this error. File reading example 2:00:20
@chillidari-93923 ай бұрын
I'm definitely not new to C++ and enjoy using it (can't say I'm the most proficient though!) but it's always great watching passionate and knowledgable educators at work. Your students are very lucky to have access to high quality teaching like this.
@mdshohidurrahman3 ай бұрын
Very effective 4 hrs i spent.Thanks
@yeshwanthkumar77643 ай бұрын
Man was starting out the lecture with "C++ is not bad haha... Don't trust the memes... Pls" hoping his students were not scared, when all he had to do was show us the ferret right away. Subbed for George and his TA.
@gamollyАй бұрын
In the living coding around 3:35:00, when you initalized int a and int b and printed their addresses, the addresses changed everytime you ran the program, but they were still contiguous. Is that because when you initalize them, they are always allocated in order on the stack memory? For some reason, I always thought it would be a randomized address except if it's an array.
@DaveChurchillАй бұрын
In my experience, stack variables which are allocated right next to each other in code are usually right next to each other in memory. But the C++ spec does not guarantee this. The reason their address is different every time the program is run is because the OS finds a different spot in memory to run the program.
@gamollyАй бұрын
@DaveChurchill Thanks! I understood the random address, but was not expecting them to consistently be allocated next to each other. Thanks again.
@tuphdc87793 ай бұрын
this guy is a total pro
@Anonymous-cn6zl3 ай бұрын
Sir, you dropped this 👑
@devon93743 ай бұрын
You missed the opportunity to talk about how C++ code is the backbone of modern practical AI via PyTorch, TensorFlow and especially CUDA
@h3ll0_w0rID3 ай бұрын
2:39:41 you meant to say the unary operator is the equal sign
@DaveChurchill3 ай бұрын
I actually meant to say that the ampersand is the unary operator. Equal sign is binary operator
@h3ll0_w0rID3 ай бұрын
@@DaveChurchill Oh I see. I assumed equal because I havent seen the ampersand called an operator. Thanks for clearing that up.
@F00dstamp96Ай бұрын
I lol'd when you said that C++ for windows is a nightmare. It really is.
@blackcitadel37Ай бұрын
for me the true gate to hell in C++ is called template metaprogramming.
@Retrotakoo2 ай бұрын
Personal Timestamps October 9 - 0:00 / 34:45 / 1:11:15.
@Back2Game0124 күн бұрын
hello proffesor, i finished the lecture but i wanted to ask you if i need any prior knowllege before i continue, since you said ( you are 4rth year something you should understand this ) and how can i apply my understanding on this since i don't have accses to materials.
@sirsneedster2 ай бұрын
how do make a vim macro like that? that's awesome
@RonaldAnthonАй бұрын
I am a truly curious being, I am dying to see how that macro is built in vim.
@insadeyt3 ай бұрын
I love u 😭 i ve been watching ur videos and i just wanted u to know..
@alexanderskusnov51193 ай бұрын
getAvg function should return float type, not int.
@MrSomethingdarkАй бұрын
The Hank Hill voice when that array printout listed all those garbage values
@abraham79662 ай бұрын
Setting up C++ compiler on Windows is a "god damn nightmare". I laughed at this!! Because, it is true just like trying to do software development in general on Windows. Dang, I love the package managers on Linux and Mac and the many other features we enjoy when developing on them. (not to mention terminal)
@toby9999Ай бұрын
Use the community version of MS Visual Studio. It's super easy to set up. Just install it, and you're ready to go. It's more powerful than any IDE on Linux. I've been using VS for 28 years. Wouldn't touch anything else. Personally, I find Windows way easier to use than Linux. I hate the Linux terminal. There is too much reliance on the terminal in Linux. I also dislike the Linux way of installing software. And while I'm on the topic, I hate importing anything coded on Linux into Windows. Too many of the Linux open-source projects rely on CMake and other archaic approaches
@WokwithLan3 ай бұрын
Nice. I also tackeled this on my channel.
@ImmigrantB13 ай бұрын
I want to learn how to write simulation software (not just for games). Is COMP 4300 the best course for me or should I look for something else?
@DaveChurchill3 ай бұрын
This is a game programming course which involves some rudimentary physics code but nothing I'd call simulation worthy. Check out Coding Adventures on Sebastian Lague's channel
@szymoniak753 ай бұрын
jesse we have to program c++
@DaveChurchill3 ай бұрын
can't cook with java
@MrSomethingdarkАй бұрын
Can't do that Dave!
@nikolaitesla42673 ай бұрын
Aww George looks immaculate! I hope he lands a big job and makes a AAA game soon 😄
@DaveChurchill3 ай бұрын
Unfortunately George passed away, but he is still an inspiration :)
@nikolaitesla42673 ай бұрын
@@DaveChurchill Rest in peace George 🙏
@Bantam803 ай бұрын
I agree that lack of expressivity in C++ is vastly overblown, but you can definitely write your student loading function in fewer lines of code in Python. For example: def loadFromFile(filename): with open(filename, 'r') as student_data: for line in student_data: first, last, student_id, avg = line.strip().split() addStudent(Student(first, last, student_id, avg)
@mhalton3 ай бұрын
Only C is worthy of applause!
@toby9999Ай бұрын
I often use C++ a bit like C, but with all of the extra good stuff available.
@rssszz72083 ай бұрын
IAM learning cpp and have printed 1000 page book still watching this video
@tx67233 ай бұрын
Could you make a 3D SfML videos
@DaveChurchill3 ай бұрын
SFML is a 2D graphics library only
@whyabadi3 ай бұрын
G++ = George++
@Honkfren3 ай бұрын
Justice for George 😴 53:35
@BB-ik7mv3 ай бұрын
👍👍👍
@crystal28572 ай бұрын
I haven't finished the whole video. It would be better if you did not mention any other languages when explaining C++. As someone completely new to programming it makes me think I should be learning a different language first in order to learn this programming language. Which makes it hard for me to get past the beginning of this video. Like language speaking classes teachers/professors do not typically reference any other language, at least most of the teachers I've had. Or if they do it's short simple and usually only once.
@DaveChurchill2 ай бұрын
This is part of a 4th year computer science course in which students have used other languages but not necessarily C++
@crystal28572 ай бұрын
@@DaveChurchill oh ok that makes more sense now. thank you. sorry about my earlier comment.
@weiSane3 ай бұрын
Ah c++ you messy language. I guess I will give you another go.
@toby9999Ай бұрын
There are many languages as messy, if not more so. I find java and js messy.
@protektwar3 ай бұрын
RAII - was invented by a Pirate :))
@alexanderskusnov51193 ай бұрын
It would be better not to use dark background for video.
@ahuramazda92023 ай бұрын
Java is neither a compiled language nor an interpreted language, but both.
@Mark-zk7uj3 ай бұрын
it's almost like these terms are only applicable to programs, not programming languages
@DaveChurchill3 ай бұрын
Java source code is compiled into byte code, which is run on the JVM. Some JVM implementations interpret the code, some JIT it to machine code. So it's definitely always compiled, just not to machine code in all cases.
@z4mbon3 ай бұрын
@IgorLisx3 ай бұрын
32:50 - you lost me with Allman style. Never will accept that ugly style.
@DaveChurchill3 ай бұрын
I also thought this way until I tried it for a significant amount of time.
@IgorLisx3 ай бұрын
@@DaveChurchill ehhh, not sure about that. Having 18 yrs. experience with Java, I became pretty strict with code style.