My Favorite Computer Science Programming Project of All Time (how I broke the coding barrier)

  Рет қаралды 275,143

ForrestKnight

ForrestKnight

Күн бұрын

Пікірлер: 189
@fknight
@fknight Жыл бұрын
🖥 Dev Notes Newsletter 👉www.devnotesdaily.com/ 📓 Studious, Notion Template for Students 👉notionstudent.com (limited time discount added at checkout)
@kevinvanniekerk2436
@kevinvanniekerk2436 2 жыл бұрын
Not only is he back, he's had the THOR hair change. Love it. Missed the channel bro.
@coolrock3733
@coolrock3733 2 жыл бұрын
As someone who hasn't yet broken my coding barrier, I do hope I get to someday. Good luck to aspiring programmers and CS students o7
@jayman8001
@jayman8001 2 жыл бұрын
amen brotha 👍 let's keep pushing until that barrier breaks
@NexGenration99
@NexGenration99 2 жыл бұрын
you might not get one single barrier to break through. for me there were a couple small barriers far various different concepts in programming. i can point to various points of my programming journey where i finally understood object oriented programming and how to use classes effectively, or when i finally understood how to make meaningful functions that make the code easier to read and make the code easier to maintain in future iterations, and so on. so dont feel bad if you dont break through some large coding barrier because before you know it, youll look back and realize youve already broken through a couple smaller ones
@zavala1360
@zavala1360 2 жыл бұрын
How long have you been studying?
@coolrock3733
@coolrock3733 2 жыл бұрын
@@zavala1360 quite a while now. I wouldn't say I'm at a zero but I just can't call myself confident or practical enough yet.
@cossco8081
@cossco8081 2 жыл бұрын
Compilers has made every university project I have done a little more interesting. Even LeetCode like problems we solved in labs freshman year seem so much fun compared to writing a semantic analyzer for a compiler. All in all though, my favorite by far has been my relational database class project. Setting up a good backend is always a good feeling and satisfies the OCD within me.
@tylerhoyt9950
@tylerhoyt9950 2 жыл бұрын
This was cool to look at, currently in CS2 we are making a music storage program but we are only allowed to use smart pointers. It's been quite challenging.
@biccyboy
@biccyboy 2 жыл бұрын
Ah dude you're spot on with the 'breaking down the coding barrier'. Just one thing, one exercise can make the elusive fog of the black box of a particular concept/programming lift. The relief is like a sudden rush of tranquility and peace, like releasing the floodgates on a dam. I remember for me, 'programming' as a whole suddenly clicked and made sense when I was about 2/3's of the way through K&R C and had just gotten to covering computer architecture and pointers/memory management. Suddenly, the fog lifted, and it all made sense. The excitement for the learning process is palpable. It never stops either, you keep learning and learning and building up a more comprehensive understanding of the realms of computing and data. I'm so glad I saved all my old projects, it's fun to go back and revisit it all. Fun video!
@renatatostada3318
@renatatostada3318 2 жыл бұрын
I remember the project that broke the coding barrier for me. I didn't even know this was a concept, but I still know exactly what you're talking about for me. It was a program that was meant to take input from a bunch of classic literature texts. It would use context clues to determine how similar words were, using something I never heard of called "Cosine Similarity." I'm not the greatest math person, so the complicated formula really intimidated me. But when I got to work to implementing it, it was so cool to figure out how to use something I had no prior experience with and apply it at the same time. That was the one skill missing from my toolkit, and then after that, everything just started to make sense and fall into place. And the icing on the cake for me was the validation that it was good code, too! I got to see a few of my classmates' implementations because that was another thing: I finished when most people were still struggling with the first steps. My code ran at least 2x as fast as any one else's. I was so proud of myself, and that's when I really knew I loved programing
@jpeg1547
@jpeg1547 2 жыл бұрын
Glad to have you back Forrest. I was just binge-watching a bunch of your recent videos.
@kraljict
@kraljict 2 жыл бұрын
My favorite project to this day (I am no longer a dev) was an application using SDL2 and C++ and it creates a simulation of the Quantum Mechanical Model of the Atom decided by Dr. Erwin Schrödinger. It was all bit manipulation of pixels and it was super cool!
@ThatGuyDownInThe
@ThatGuyDownInThe 2 жыл бұрын
that is SO COOOOOOOOL, I am jealous haha, hope to be there soon enough
@SupremeExploits
@SupremeExploits 2 жыл бұрын
​@Anurag Chakraborty c++ library for making games
@QuantumQuibbles
@QuantumQuibbles 2 жыл бұрын
Oh my! As a physicist by training with a newfound interest in programming, I would love to be able to create something like this!
@TomDoesTech
@TomDoesTech 2 жыл бұрын
I love how relaxed Forest is as he records these videos. He makes it look easy but it's actually a difficult skill to master.
@Jorsten
@Jorsten 2 жыл бұрын
He's risen from the dead. I wonder if he could do an open source cyber security degree like he did for computer science.
@isayapere5631
@isayapere5631 2 жыл бұрын
OMG, haha he is risen with now a new haircut
@MrHhkjhkj
@MrHhkjhkj 2 жыл бұрын
I really like this idea! Im a new web dev and would love to dip my toes a bit into cyber security
@ligma3852
@ligma3852 2 жыл бұрын
That wrestling project is so badass! I wrestled in HS and its awesome to see people show the sport some love! I think I might try to make a wrestling sort of CS project over the summer due to this!
@RJ-gh3lg
@RJ-gh3lg 2 жыл бұрын
We missed you Forrest, glad you're back
@Chewy21414
@Chewy21414 2 жыл бұрын
This was so much fun to watch. I have two more classes before my capstone project maybe after I graduate and have more time I will try to build this project. Thank you for sharing.
@ITZollx
@ITZollx 2 жыл бұрын
Good to see you back man!
@Imaltont
@Imaltont 2 жыл бұрын
What made things go from random instructions that made things happened that I kind of just memorized to understanding what happened and better apply it in general and over many different programming languages was probably while reading "Concepts, Techniques and Models of Computer Programming" by van Roy and Haridi during a course at University. I still love this book long after, and it was a real eye opener of how programming works and opened up many different ways of thinking about things/problemsolving. I have seen similar experiences by people reading SICP as well, so that would also be an option for anyone looking for great general programming books to learn from.
@HealthInspectorz
@HealthInspectorz 2 жыл бұрын
I believe that once you see the patterns across all programming languages, the knowledge and skills you've honed will translate and it will make learning programming languages easier. It's all a matter of developing good programming habits and picking up new techniques. This semester, I learned a lot about object oriented programming and I worked with two programming languages.
@kidneybean5688
@kidneybean5688 2 жыл бұрын
The most assured (NOT cheapest) path to learn to program, imo, is to go to a big research university, and as soon as possible (first year for sure, get looking on day 1) try to find an on campus engineering job. It's possible that your first few weeks-months will be unpaid, but IME you'll get paid pretty soon. It'll be kinda weird, some weeks you'll log 0 hours, other weeks more like 10-20 (my university restricts going past 20), but you'll still get accustomed to SOME code base. If you want a really fast course, go embedded software. You'll often be the only software guy on your project, and while you will deal with hardware struggles (oh no! We ordered the wrong pcb!) you will know everything, learn everything yourself, fail yourself, diagnose errors yourself AND for your team (sometimes errors are hardware, not software!). Extra credit, go to a university with a co-op program. Sign up for that shit. If you have an on-campus job, you're a top pick. Boom, now you have 6mo-1y of full-time coding at a 1-2 good companies and 3-4 years of part-time coding experience coming out of undergrad. School will be easier as well, and if you decicate yourself you'll get high grades, for those of you who care ab grades.
@jayman8001
@jayman8001 2 жыл бұрын
okay life coach 😂
@lone3raser512
@lone3raser512 2 жыл бұрын
This is great advice. Thank you!
@seaweedglob
@seaweedglob 2 жыл бұрын
The shorter the hair the longer the code
@michaelmurr13
@michaelmurr13 2 жыл бұрын
The project that truly broke my coding barrier is a twitter clone that I'm workimg on right now. Its written in React, NodeJS, Express amd MongoDB. Its basically a full blown MERN stack project that already taught me a ton
@nq2c
@nq2c 2 жыл бұрын
How did you start getting to it, have you already got experience in all of these and you wanted to put it together, or did you follow a tutorial or something else?
@shu3684
@shu3684 Жыл бұрын
@@nq2c probably did it with a youtube tutorial
@jessr1698
@jessr1698 2 жыл бұрын
2 vids in 1 week after a 2 month break. Awesome!
@arkaprabha.chakraborty
@arkaprabha.chakraborty 2 жыл бұрын
Finally, you are back!
@alejandromustelier704
@alejandromustelier704 2 жыл бұрын
VSCode Theme: Andromeda
@codingwithculp
@codingwithculp Жыл бұрын
Header files - I work with middle school students, sixth through eighth grade, and I teach them to code. We do a lot of stuff with autonomous robotics. The controller we use is pretty good, and for the past few years I have used Python, but the Python implementation on the controller is broken and has not been updated past Python 2.7. So this year it was back to using C. The good thing is, because of the libraries provided, unless the kids are doing something really advanced, I don't have to worry about teaching them pointers etc. However, breaking their programs into multiple files and teaching them about header files and includes tested the limits of my sanity.... It may seem simple and straightforward to us, but take a kid in sixth grade who is never coded before and his life.
@TimBender-m8n
@TimBender-m8n Жыл бұрын
If my programming career was a marathon, I feel like this video just helped me progress through at least like 5 miles of important concepts. Thanks so much
@Andrumen01
@Andrumen01 2 жыл бұрын
Hey!!! You're back! I was wondering when you would be back. Glad to see you back.
@Maddy17-l7c
@Maddy17-l7c 2 жыл бұрын
You are so good at coding i hope i can be as good as you one day
@MrChris20912
@MrChris20912 2 жыл бұрын
Hah! This looks like a lot of fun. As a HS wrestler many years ago, it's surprising to see a code challenge about something I've done. Will have to give this one a try. Thanks for sharing!
@WalkerGibbons
@WalkerGibbons 2 жыл бұрын
Honey come here, Forrest posted a video!
@hhhjhhj4897
@hhhjhhj4897 2 жыл бұрын
Two of my favorite things to learn. Wrestling and coding.
@frontoge582
@frontoge582 2 жыл бұрын
Good ol professor Morris projects go crazy fr
@onlygaming4630
@onlygaming4630 2 жыл бұрын
You are back greattttttt
@seancoaker3613
@seancoaker3613 2 жыл бұрын
Welcome back king!
@stephenkrus
@stephenkrus 2 жыл бұрын
Pretty neat of showcasing to your Professor your... fundamental principles and concepts of programming thru C++. A wrestling tournament scoring app. Kinda weird idea for a project but... it was good way to showcase what you learned. Yeah... pretty much all fundamental concept in all programming language are nearly the same. You got all of it showcased so good on ya'... ✨👍
@ruiuniver4
@ruiuniver4 2 жыл бұрын
what vscode color scheme are u using?
@loganishere4760
@loganishere4760 2 жыл бұрын
I’ve been looking for projects to sharpen my skills, I think I might do this.
@robkennard6796
@robkennard6796 2 жыл бұрын
No way that’s a K-Coast hoodie you’re wearing.. that’s my local surf shop here in Ocean City, MD 😎
@teddyverdecia4855
@teddyverdecia4855 2 жыл бұрын
Hey can you link that project assignment doc somewhere in the description I’ve been looking for a good oop project to get familiar with oop and this looks perfect! Love the vid thanks bro.
@fknight
@fknight 2 жыл бұрын
Yea check the GitHub repo. Everything should be in the requirements folder
@4MXW
@4MXW 2 жыл бұрын
2:31 you did a little _Mcconaughey_ right there...
@GChief117
@GChief117 2 жыл бұрын
I turned on the bell for every notification.
@GTLugo
@GTLugo 2 жыл бұрын
Haha, this is interesting to look at as a CS student currently attending that same university!
@NerdyDude186
@NerdyDude186 2 жыл бұрын
I love how you have a video called the end of the channel as we know it. Then in the next video you got a haircut 🤣🤣 that's hilarious to me
@musicgameoftheday4901
@musicgameoftheday4901 2 жыл бұрын
We missed you Forrest, and nice haircut
@inmyheadnick
@inmyheadnick 2 жыл бұрын
Hey! I saw this program and I think I'm going to give it a try myself! I'm currently in an introductory class for Java in my 2nd year of college. I'm in community college as of right now but I am transferring this fall and programming is a huge barrier for me. I understand the concepts, but putting them all together to develop a program from scratch has been quite the predicament! I'll give this a try and see how it goes!
@RayfuzuLearning
@RayfuzuLearning 2 жыл бұрын
Very entertaining. I love going back and looking at old code. 😁😊
@dq303
@dq303 2 жыл бұрын
If you’re a student struggling with Java or C++… learn Python or JavaScript the syntax is nicer and you’ll be able to then transfer that knowledge over to more syntax heavy languages
@jasonharrison5877
@jasonharrison5877 2 жыл бұрын
"all classes in 1 file lookin ahh code"... the funniest joke of all time.
@nighter62
@nighter62 2 жыл бұрын
Meanwhile we did next to 0 coding in my advanced data structures and algorithms class lmao.
@marcuslorenzo9705
@marcuslorenzo9705 2 жыл бұрын
Thanks for this man! I'm currently studying Javascript and have the lofty goal of making an in-browser MMA sim...but it may have to start with boxing to limit the complication. I'd love it to take user input ratings and use them to influence skills and intangible elements of a boxing match. Imagine the knockout!😂
@tonyzippo1604
@tonyzippo1604 2 жыл бұрын
Hey, I’m kinda confused on the whole “project based learning” approach to learn how to code. Can you make a video explaining in detail what it means to learn by working on a project and maybe some good beginner/ intermediate projects that are essential for displaying quality knowledge of the program language. Thx in advance!
@xkroaxx
@xkroaxx 2 жыл бұрын
Tbh just start something. There isn't any right project to start with. Just learn the basics and begin with whatever you want.
@BigSexyIsHere
@BigSexyIsHere 2 жыл бұрын
Creating your own project forces you to learn the ins and outs. There are many different ideas if you just google project ideas.
@diego032912
@diego032912 2 жыл бұрын
I know people say that there are project ideas online, but think about yourself first. What simple task could you help yourself with if you made a program for it? Make sure it's simple, and then try to make it into reality. Project based learning is really just experience based learning but without saying that it's learning through experience. Coding is just simply one of those things you have to practice to improve at whether you have natural talent in it or not.
@JoeCnNd
@JoeCnNd 2 жыл бұрын
Totally off subject but I do like that nasa shirt.
@imadscientist
@imadscientist 2 жыл бұрын
Coding jesus forrest is back
@retzerbil867
@retzerbil867 2 жыл бұрын
Doing java programming 2 right now. Feeling kinda lost since it's been more than a year since my last java course. Hope I get back into it soon and even better than before
@MartyMcFly533
@MartyMcFly533 2 жыл бұрын
Nasa do be running those calculations on Java now
@theencryptedpartition4633
@theencryptedpartition4633 2 жыл бұрын
Chego?
@mihalachebogdan1
@mihalachebogdan1 2 жыл бұрын
Man im glad i found your channel hahah
@handsanitizer2457
@handsanitizer2457 2 жыл бұрын
Can you find an old program you wrote and rebuild it as you would write it now
@kayepixate2625
@kayepixate2625 2 жыл бұрын
Stoked to try this... 🤔
@frankqiang6318
@frankqiang6318 2 жыл бұрын
Still relatively new to computer science, but I think the Comp struct is basically just like a function pointer that compares two Wrestlers (like an operator
@KenJee_ds
@KenJee_ds 2 жыл бұрын
What a haircut!
@fknight
@fknight 2 жыл бұрын
😁
@redwilliams1804
@redwilliams1804 2 жыл бұрын
This is why OOP is nice. So many things in the real world can be modeled by their structure interactions with each other. So many things are similar and are abstractions of one another. Functional programming is great and all, but personally I think the model Object Oriented programming provides is just more relevant. Unfortunately, encapsulation is a bitch, so maybe functional is the winner afterall
@tinmancode
@tinmancode 2 жыл бұрын
fun have an integration or unit test that grades the completed project and anyone that wants to have it graded can run the test and submit their scores to a leader board
@Ragna_E
@Ragna_E 2 жыл бұрын
Does anyone know where can I find the answers for 25.1.4 list of place to travels 25.1.5 list of event numbers 25.2.4 top websites 25.3.4 practice push and pop?
@a_guy_in_orange7230
@a_guy_in_orange7230 2 жыл бұрын
In case you were wondering Morris is still using this as a project, as soon as you said Wrestling project I had whiplash then you said Morris and I just about screamed at 2am
@albertayitey-adjin1387
@albertayitey-adjin1387 2 жыл бұрын
i have morris for CS 390. i heard that he's retiring soon unforntunately
@cheezy6593
@cheezy6593 2 жыл бұрын
Hes backk❤️❤️❤️
@guilherme5094
@guilherme5094 2 жыл бұрын
Jesus! Your hair! But glad you're back.
@DannyZolp
@DannyZolp 2 жыл бұрын
I think my "click" program was a Java HTTP server written with basic Sockets
@JC-jz6rx
@JC-jz6rx 2 жыл бұрын
dude, forget the video, your cut is looking tiiight. I hope you gave the barb a tip
@nirajkr5710
@nirajkr5710 2 жыл бұрын
Looking fresh
@Bobbias
@Bobbias 2 жыл бұрын
This is fascinating. I've been a hobbyist programme for like 20 years and tbh I can't point to any one thing that seemed to make everything fall into place. Perhaps it was because I am self taught, but for me it felt more organic. I recall not understanding how GUI programs work when I was teaching myself the win32 API, and learning about the message loop, and eventually getting it. But I can't point to any one thing that suddenly solidified mt knowledge as a whole. Although I'm currently working on a parser/lexer for the COOL language using a parser combinators library which is 100% constexpr (minus file Io, which is optional). I've never worked with anything that uses so much template/concept/constexpr code before and it's quite the learning experience.
@basicallybrand
@basicallybrand 2 жыл бұрын
What theme do you use?
@popaandrei4521
@popaandrei4521 2 жыл бұрын
What is the coding barrier exactly?
@GeorgeTsiros
@GeorgeTsiros 2 жыл бұрын
so, basically, what the 90's turbo pascal user manuals explained in the first chapter?
@baronhelmut2701
@baronhelmut2701 2 жыл бұрын
Somebody able to tell me what color scheme this is ?
@joshuasonnen5982
@joshuasonnen5982 2 жыл бұрын
Where'd you get that hoodie? Edit: The one from the start of the vid
@jessicaflamenco6732
@jessicaflamenco6732 2 жыл бұрын
Does what you learn in school apply a lot at the engineering job?
@jounin8401
@jounin8401 2 жыл бұрын
wow, I'm taking that same course this semester!
@ashtonbennett8655
@ashtonbennett8655 2 жыл бұрын
That crewneck is sick! Where could I get one?
@AkashicLink
@AkashicLink 2 жыл бұрын
hey, i have a question. im new to programming, and after reading through a couple of foundational programming books, i feel i have a deep enough understanding to begin focusing on a specific language, with the ultimate goal of graduating with a cis degree and becoming a full time programmer. would it be better for me to learn python simply because its the easiest to find a job. or do you think it would be ok for me to try and tackle something more advanced like rust, which has definitely peaked my interest. i cant seem to find an aswer though reading or others videos
@sayeddileri3461
@sayeddileri3461 2 жыл бұрын
I’m in the same position…yet I just went along with whatever I had. Take this chance and learn one thing at a time. Focus on it. Practice and eventually it’ll be second nature for you. However, define your goal. What do you want to do? Once you understand your motives, the tool you use to achieve your goal won’t matter as much as how well you understand programming concepts and patterns. I thought I was going to learn JavaScript and raved all day and night…. Guess what? I’m now learning C++. I hated the thought of going near c++ because I thought it was hard. JavaScript is now a nightmare to work with because that’s the nature of it. See how it works? It’s quite strange. Find your goal, gather your resources and tools and get comfortable because it will be a great and humbling journey. Rack up those projects too…that’s what’s gonna truely break the barriers.
@cattochi_
@cattochi_ 2 жыл бұрын
Where can I get that NASA sweater?
@Akinsa2023
@Akinsa2023 2 жыл бұрын
Started advanced coding in high school and soon to college next year. What advise would you give for do coding in college?
@tyrellepatton2243
@tyrellepatton2243 2 жыл бұрын
I have a project that I would like to start and believe it will be a great idea but I don’t know how to code and don’t know how to find someone. Could you make a video on finding co-founders/partners
@tresaidh3y90
@tresaidh3y90 2 жыл бұрын
I...actually miss coding in C++ I've been in the java environment too long i forgot what std was lol
@oussamabelhout3174
@oussamabelhout3174 2 жыл бұрын
IT IS FUN MAN .. KEEP UP WITH THIS KIND OF VIDEOS . mamaiya
@TheRandomSpectator
@TheRandomSpectator 2 жыл бұрын
What text coloring theme is that for vscode? I really like that and might want to switch to it.
@salimmouttaki4514
@salimmouttaki4514 2 жыл бұрын
what's your visual code theme ?
@deanmarques7452
@deanmarques7452 2 жыл бұрын
What vscode theme is that?
@alejandromustelier704
@alejandromustelier704 2 жыл бұрын
The best: Andromeda
@icyvolts
@icyvolts 2 жыл бұрын
How long did it take for you to get this comfortable writing code from scratch?
@christopherhome8056
@christopherhome8056 2 жыл бұрын
Man I like that. You are ma man
@killeraudiofile8094
@killeraudiofile8094 2 жыл бұрын
I assume this code was from early on in your academic career-- like freshman/soph year -- takes me back haha. I look at some of my old Java/C/Scala code from the start of college and wince now lol. Though some of it is not as bad as some legacy code I've worked with professionally.
@praveendilruck1169
@praveendilruck1169 2 жыл бұрын
Favorite❤
@Nathan-zc1qs
@Nathan-zc1qs 2 жыл бұрын
The hair is on another lebron
@jaredhorton6819
@jaredhorton6819 2 жыл бұрын
Nice haircut man👍
@fknight
@fknight 2 жыл бұрын
Thanks! 😁
@luisvigo3777
@luisvigo3777 2 жыл бұрын
Coding Jesus is back!
@tymofiikoval1773
@tymofiikoval1773 2 жыл бұрын
I’ve literally come here only because of a ide theme. Can someone share the name of it?
@vx319
@vx319 2 жыл бұрын
It might be andromeda
@thejhoxx4336
@thejhoxx4336 2 жыл бұрын
wich color theme is he using?
@alejandromustelier704
@alejandromustelier704 2 жыл бұрын
Andromeda
@chudchadanstud
@chudchadanstud 2 жыл бұрын
if you hide the for loops inside the for loops in a function. No one will notice
@Redyf
@Redyf 2 жыл бұрын
What's your color theme on vs code?
@T34-m5v
@T34-m5v 2 жыл бұрын
Hey brother, weren't u using GNU/Linux ?
@mobeen3522
@mobeen3522 2 жыл бұрын
Coding Jesus became coding Moses (in my mind Moses had short haircut 🤣)
@raistlinmajere2257
@raistlinmajere2257 2 жыл бұрын
The word around Silicon Slopes is that you're that one guy that can't keep a job.
How to ACTUALLY Get an Entry Level Programming Job
13:46
ForrestKnight
Рет қаралды 550 М.
The IMPOSSIBLE Puzzle..
00:55
Stokes Twins
Рет қаралды 187 МЛН
Smart Sigma Kid #funny #sigma
00:33
CRAZY GREAPA
Рет қаралды 17 МЛН
How To Choose Mac N Cheese Date Night.. 🧀
00:58
Jojo Sim
Рет қаралды 101 МЛН
Thank you Santa
00:13
Nadir Show
Рет қаралды 41 МЛН
My 2 Year Journey of Learning C, in 9 minutes
8:42
VoxelRifts
Рет қаралды 655 М.
8 Data Structures Every Programmer Should Know
17:09
ForrestKnight
Рет қаралды 180 М.
So, you want to be a programmer?
20:43
ForrestKnight
Рет қаралды 411 М.
Vim Tips I Wish I Knew Earlier
23:00
Sebastian Daschner
Рет қаралды 79 М.
Teaching myself C so I can build a particle simulation
11:52
Gradience
Рет қаралды 311 М.
Why I’m Learning Rust in 2024 (and new dev environment)
16:53
ForrestKnight
Рет қаралды 33 М.
Self Taught Programmers... Listen Up.
10:00
Kenny Gunderman
Рет қаралды 1,8 МЛН
ASMR Programming - Spinning Cube - No Talking
20:45
Servet Gulnaroglu
Рет қаралды 4,2 МЛН
The IMPOSSIBLE Puzzle..
00:55
Stokes Twins
Рет қаралды 187 МЛН