there's a common misconception in aspiring computer science students that I've talked about in the past and that is computer science is all about programming but it's not programming is actually a small percentage of what you learn and do as a computer science student however you obviously still learn how to program throughout the computer science degree as well and a lot of that computer science theory is better used in my opinion when you apply it using Code you saw an example of that when I made a video about my favorite computer science program of all time
and a video I made just month or two ago going over that program but again that was not the initial idea for that video I was going to go through multiple programs that I wrote as a computer science student and explain what course it was for how it applies to computer science and why we wrote the program and show you how it works well now I'm finally making that video we're going to be going over a handful of different programs I wrote as a computer science student go through the program and explain why we wrote
this program and hopefully give you a better idea of what to expect when it comes to programming as a computer science student now in your first year and maybe into your second year as being a computer science student you will learn the basics of programming building your own programs from scratch as well as going into other people's programs maybe that your professor wrote and learning how to manipulate maybe refactor or add a feature to that code this is to get the basic idea of the syntax itself well at least that's part of it the more
important part are the fundamentals you learn along the way because later you will need to understand these fundamentals and use them in whatever language is best for that particular project that leads me to this program written in a language called pav I had never used pav before writing this program or since writing this program the entire idea of writing this as well as the other two programs and two different programming languages throughout this course which was principles of programming languages the idea was to take what you learn learned in one programming language the fundamentals and
transferred that knowledge over into another programming language and understand why this particular language has the syntax that it does and this code right here creates this little image right here I was actually supposed to make a steampunk City that integrated water I put a building on an island in the middle of water and for some reason my professor really liked it so he uh gave me a good grade on it I didn't fit the theme but hey I'll take whatever I can get and you can obviously see that P is perfect to create something like
this or anything else that you can find on the internet that is created using pav because you have the camera Direction you have the light source and where that's positioned you have the sky and then you go about rendering what is a fairly good image and then of course we have my favorite computer science program of all time the wrestling tournament simulation it was in in my Advanced data structures and algorithms course where we learned all about data structures and algorithms and then implemented what we learned in that class using Code which was C++ our
main programming language for my school you can clearly see the implementation of the data structures and everything else that went into this program to implement adts which was the overall goal of the course vectors lists Stacks cues sets Maps heaps and graphs if you need to learn more about data structures I've made two videos going over seven of them I believe in pretty good detail with pretty good animations just check on my channel if you're interested in that type of stuff to learn more and more about it and this of course is the output we
had different schools in the same conference different weight classes different individuals in those weight classes and then we made them wrestle each other in a tournament style bracket and the winner of weight class one is this one from School 700 wrestler 4 and then a weight class 2 from school 600 wrestler 3 so on and so forth and for the next two programs you're really going to have to hang with me because as I've said in the past computer science is really just a an applied math degree in a specific industry computer science so there's
obviously a lot of math that is required but also a lot of math inside the computer science curriculum itself that is required one course in my school being being computational methods and software this is one of the programs we wrote in this which is L comp stands for lower upper de composition and linear algebra and this is to solve for those matrices the entire idea of the course is in algorithms and software for fundamental problems in scientific Computing course so your topics include properties of floating Point arithmetic linear systems of equations Matrix factorization stability of
algorithms conditioning of problems leas Square problems and and a lot more so how does this math and other math that you learn as a computer science student apply to computer science itself and how do you implement those via code well in this case we take a strictly mathematical topic L composition whereas in numerical analysis and linear algebra it factors The Matrix as a product of the lower Matrix and the upper Matrix to find the solution and as it says right in the Wikipedia article computers usually solve square systems of linear equations using L composition so
it's very heavily used on the numerical side of computer science in numerical analysis and I believe it's used in principal component analysis as well as linear linear discriminant analysis so in learning that and understanding how it applies to computer science we wrote a program that is the lud comp solver so you input The Matrix as you can see up here we want a 3X3 Matrix Row one row two Row 3 we enter the elements of the B Matrix because we're solving for axal B where we're finding the L DEC composition of the a matrix and
that basically breaks down into axal B where we're trying to find X where in this instance the 3X3 Matrix is the a matrix and the 1x3 Matrix is the B Matrix which is 1510 it runs through our program it displays the lower Matrix it displays the upper Matrix it finds Z with the LZ equal B finds x with ux equal Z those are the steps in between AAL L and ax B or kind of I don't remember everything okay so correct me if I'm wrong and then it displays the solution which is 67 2 these
are the things that you're able to do when you understand the theory as to the why and then you implement the how using code and while this is the preferred method it is also known as The Matrix form of gsan elimination which again many people say lud comp is just the better version of gsh elimination and I'll be honest with you I don't really remember much about this program or even the best example to use for goshan elimination but obviously we wrote a little bit of a a little program for gosh and gosh Jordan elimination
how many variables enter the coefficients we have to allocate memory for our Matrix array and then it goes through a handful of steps initializing right hand side to ident identify Matrix identity Matrix partial pivoting pivoted output reducing to diagonal matrix reducing to unit Matrix matx print inverse of unit Matrix and we delete the memory that we previously allocated so here is maybe a solution over here not sure but there you go uh we wrote this one I believe before we ever wrote the lud comp and we did in the same exact class and also just
for another example of math in computer science this is a CS course um entered to discreet math I believe sorry inro to discreete structures and this was one of my homeworks so just to give you a little idea yeah so uh math this thing is glitching out isn't it I hope that give you a little bit of insight into what to expect when you're going into computer science program again it's going to be mostly Theory but hopefully in those courses you'll be able to implement that theory using Code building upon the fundamentals that you learned
in your first or second year as a computer science student and I don't know if I say this enough but I truly appreciate youall watching and supporting me on the channel over here I'll see y'all hopefully next week