this is going to be a list of resources that you will need to learn how to
program. But more than learning how to program, you will learn how to be a
software engineer. People need engineers and not programmers. Maybe
you dont make a lot of money in Albania as an engineer but I believe that if
you get the knowledge and you can finish an American masters online you
can change your life. It will take about 2 years and you can truly become an
expert at something useful.
http://introcs.cs.princeton.edu/java/home/
https://www.seas.upenn.edu/~cis120/current/
3. Algorithms (4th Edition)
Algorithms are key to programming. This book offers really clear
explanations. You should absolutely master this book.
https://github.com/haseebr/competitive-
programming/blob/master/Materials/Algorithhms%204th%20Edition%20by
%20Robert%20Sedgewick%2C%20Kevin%20Wayne.pdf
This book covers computer architecture and a little bit of C at the end.
http://tandon-books.com/Electrical%20Engineering/EE1012%20-
%20Introduction%20to%20Computer%20Engineering/(CSEE1012)%20Introd
uction%20to%20Computing%20Systems.pdf
http://documents.pageflip-
flap.com/s7hsJ8eUxQc1pjOHknqN#.WUKx6uvyuM8=&p=7
7. Introduction to Algorithms
This is the thickest book here. If you can master this book you can get a job
anywhere in the United States. Requires a decent understanding of
programming and a little bit of calculus and discrete math.
https://github.com/yuanhui-yang/Introduction-to-
Algorithms/blob/master/Introduction%20to%20Algorithms%20-
%203rd%20Edition.pdf