Reviewing the C language
C is the language of choice for developing system software, and considering that many of the students participating in "One Student One Chip" project majored in non-computer science, the learning curve for C is relatively simple. You need to know the following: recursion, pointers, linked lists, and be able to write a correct program on your own (not by searching for a so-called sample code on Google).
Some recommended materials for learning C
- One-stop Learning for Linux C Programming
- The C programming language (2nd Edition): The true creator of the C programming language is Dennis M. Ritchie, the author of this book, not Tan Haoqiang
- C Coding Standard
- SEI CERT C Coding Standard
- Learn C the hard way
Some simple C++ fundamentals are also required
Verilator compiles Verilog to C++, but you don't need to know complex C++ syntax, you just need to know the basics of how to use a class. From this point of view alon.
Must-do exercises for getting started with C language
Learn C the hard way Exercise 0 to Exercise 18, Exercise 32, Exercise 33, Exercise 42, Exercise 44. Need to complete programming algorithms and additional exercises.
- This is part of the admissions defense, if you get stuck somewhere you can RTFW or ask a TA.
- Reference materials use the study materials mentioned above.