Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Im an experienced actionscript developer, and relatively new to Objective C.
I decided a good investment of my time would be to master the C language (not C# or C++).
Can anyone recommend the 'best' online tutorials for learning C?
You won't have difficulties understanding the C syntax given your past experience, and unfortunately, most tutorials and introductory books will focus on it much more than they should.
C is full of traps, but it is a simple language which gives you full control on what is going on with your programs. However, it is difficult to master. You will need something more elaborated than a simple tutorial which will be half full of things you probably already know.
I definitely recommand K&R's book if you want to learn the language correctly. Be sure to grab the second edition.
I agree with James' comment, though I would recommend looking over the first paragraphs of a web based tutorial.
Though they're not the best for learning the language itself, you can get a feel for some trivial programs and see if they fit your brain.
The worst thing that can happen here is if you buy a book and can't use the language (for whatever reason).
As far as specific selections... I can't give you any.
As you've asked for online resources only, so here is one
http://www.cprogramming.com/tutorial/c/lesson1.html
Like Alexandre , I would also recommend K & R's book
You should check this out too:
http://www.phy.duke.edu/~rgb/General/c_book/c_book/index.html
I've looked through it, it's got some good examples and it's a good read.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I took a lot of time to learn about C, and pointers and arrays and strings. But now I want to know how to apply all this. The title says Applications, but I also want to know how to write firmware, and device drivers and kernels. If you could point me to books,on line resources, and things of this nature.
The best way to learn write C program is to actually find a project to work on. However, you need to get enough knowledge in order to achieve this. According to my understanding, most of the C language beginners learned C and just have some numbers printed in the console(black box). C is a low-level language, sometimes very annoying. I think the way a programming language need to cultivate interest, black box is clearly not a good way. So, I suggest that in the process of learning C language, also combine with API. Teaching people to write a program with the interface is better than people all day long face the black box. Here are some books I recommend:
1. The C programming Language
2. C Primer Plus
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm a student learning C programming (at the moment).
In the subject I was given, I have to create some kind of Wolfenstein3d clone (hence the name of the project, "wolf3d"). To do this project, I'm allowed to use either the graphic library created by my school, or the SDL. I chose the SDL, because it is more complex to use and therefore more interesting.
Unfortunately, I was not able to find any tutorial for SDL2 in C. Even the SDL wiki links were all oriented C++.
I'd be grateful if you could help me finding good tutorials for the SDL2 in C (even though I know the policy of the website is "use a search engine, which I did, but as I said, I did not find any so far).
I think I might need to explain a few things about my school, in order to not give you the impression I'm asking you for help in order to cheat:
Why don't you look in your class notes?
Because I'm not given any. I'm given projects to do and sometimes few hints as how I should do them. I'm supposed to use Google or any means as long as I understand what I did.
And that's pretty much it. I'm also not looking for a tutorial on "how to create a wolfenstein3d clone using SDL2.0", but only a tutorial on how to use the SDL2 itself, from creating a window to drawing points.
If I were you I would use the tutorials available on SDL's page here:
http://wiki.libsdl.org/Tutorials
In conjunction with the API documentation here:
http://wiki.libsdl.org/APIByCategory
The API is written in C so despite the fact that the tutorials may be in C++ you should be able to follow the tutorial by referencing the API docs and understanding the functional structure of the example programs.
As an aspiring developer you should be able to understand enough of the C++ syntax to understand the conceptual way you need to develop an analogous application in C. The API calls will be need to made in the same way.
Consider this page from one of the linked tutorials (which is stated as being for C++):
http://lazyfoo.net/tutorials/SDL/01_hello_SDL/index2.php
Are any of those code blocks really foreign to you? They shouldn't be, they're written in C. If you come across some expressions you are unfamiliar with as you go through the tutorial, reference the API. If you're still stumped, then maybe it would be time to post on StackOverflow. That particular tutorial may be written completely in C, I'm not sure I only went through the first few pages.
Also note that the function documentation in the SDL API docs gives C and C++ example code:
http://wiki.libsdl.org/SDL_Init
Here you can cross reference two identical programs in C and C++ and begin to learn how the same operations are performed in the two languages. From there you can start to interpret C++ tutorials for high level functional operations and translate that to C as opposed to just copying code samples. You will learn much more going through this process.
To your own admission you decided to go the complex route. You should be prepared to invest some effort in the process!
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
How do you get started with competitive programming and get well versed with various topics in it ?
What all things you can do ?
Get started directly or do some concepts first.
This is a very popular question on Quora, but is generally considered off-topic for Stack Overflow. The best way to use SO for competitive programming advice is to ask specific questions about problems you're having when coding a solution. For example, you might ask how a language feature works. Often you'll find that the question has already been asked.
Here are the 108+ Quora answers to your question: https://www.quora.com/How-do-I-become-a-competitive-programmer
The summary answer is: Get started solving problems. If you have any programming background, which I'm sure you do since you're asking this question, you'll get more benefit from just starting rather than reading a lot first. When you get stuck on something, that's the time to read books or online resources.
If you're having trouble deciding what to start on, here's a suggestion from my blog of how I would get started: http://www.redgreencode.com/about-project-462/
My 2 cents...
Best option is to get registered at the following coding sites..
+ topcoder.com
+ codechef.com
+ hackerrank.com
And, while you hack code here, you can build upon your programming foundation by learning more on
+ Data structures
+ Algorithms
+ Operating system concepts
+ Networking concepts and more ...
You could also start looking at the following books in this area...
+ The Algorithm Design Manual
+ Programming Challenges: The Programming Contest Training Manual
+ Competitive Programming 2
My advice would be to get registered with a Competitive Programming site if you know how to write simple codes in a particular programming language and solve the basic problems(the ones which does not require algorithms or require basic ones).
My suggestion on the choice of site is:-
1)HackerRank:-https://www.hackerrank.com/
Problems are well categorized here.Practice the questions marked 'easy' here followed by a few 'medium' ones.Complete the '30 Days of Coding Challenge' that would give you a good basic idea of the Java language.Also, check other's code and the editorial even if your code passes all the test cases.
2)SPOJ:-
Practice the problems categorized under 'ad-hoc' here.Start by solving the problems which are solved by most people...usually they will be easier.
3)Start implementing basic(or standard) algorithms. It is suggested to read them from Topcoder tutorials or Introduction to algorithms.Also, follow a standard book along with it.Now, practice problems based on those algorithms until you get familiar with them.
4)After you get acquainted with the most common algorithms start competing in coding challenges.Practice makes you better. Try to solve problems from previous contests. Solve as many problem A-s as you can until they give you some trouble. Then move on to B, then C etc.
Hope it helps :)
P.S. Also check the following answer on Quora:-
https://www.quora.com/What-is-the-best-strategy-to-improve-my-skills-in-competitive-programming-in-2-3-months/answer/Sachin-Gupta-6?srid=4gZ6
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I am looking for some good online sources which explain process sychronization,process and threads with practical examples.
i have gone through a lot of theoritical stuff but always face confusion and difficulties when actually trying implement them.
This is a link where you can find the code very useful for thread synchronization.
I started on Tanenbaum's (Wikipedia) "Modern Operating Systems" book then moved on to Linux From Scratch. For practical examples OSDev here and here is a mine of information when you become really hands on. Otherwise, for Windows specifics there are no shortage of books or MSDN literature.
I found Tanenbaum a very entertaining read, he invented the Minix OS which he uses for real world examples. Minix is from around the same era as Linux. Have a look at some of the very early Linux source code release (eg 0.1 or therabouts if you don't want to lose a year of your life studying pure code).
Wikipedia Is Always The Best Online Tutorial Guide. However u can also Check This Link.. If you would like to go with a Pdf Book then u can click Here.. Its really Good Book
this link for NACHOS may be a good help for you. In our undergraduate class we did some good assignments in OS course.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I have done some searching around the internet trying to find some form of example code that will allow me to simplify trigonometric equations. In my mathematics course-work this year I am required to simplify trigonometric equations, and I intend on adapting the code to work with my TI-89 Titanium CAS, to use in replacement of the tCollect and tExpand functions (that can't seem to get the job done quite as nicely as I'd like it to).
As I can't really find all too much information on the matter I'd like to know if there is any code (preferably C-based) that will help me to simplify these kinds of equations. If not, what kind of algorithm would be best looking into to code myself?
Thanks.
A very powerful system that seems to have the functionality you need is Maxima, an open source computer algebra system. The following manpage describes trigexapand and trigreduce, which would seem to be roughly what you're looking for.
http://maxima.sourceforge.net/docs/manual/en/maxima_15.html
It's in Lisp rather than C, but consider that an adventure :)
Eigenmath is a handy little computer algebra system.
You might find something relevant in Eigenmath's source code.
The HP49/50 series calculators have a variety of trig manipulation functions that may do a better job than the TI-89. The CAS for the HP calculators is open source, but written in an obscure language. You'd be better off checking out the next CAS written by that guy: Giac/Xcas, written in C++.