Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / NewStats: 3,207,698 members, 7,999,990 topics. Date: Monday, 11 November 2024 at 06:21 PM |
Nairaland Forum / Science/Technology / Programming / First Thing First, Learn To Program! (36325 Views)
Learn How To Program For Free / How To Program Outseal Arduino PLC / Here Is Why You Should First Learn Python As A Beginner In Programming (2) (3) (4)
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) ... (11) (Reply) (Go Down)
First Thing First, Learn To Program! by progeek37(m): 12:00pm On Apr 29, 2019 |
CONSIDER JOINING MY TUTORIAL GROUP Anyone can use frameworks and libraries to develop softwares and applications. There seems to be frameworks and libraries for many applications, this has shifted the attention of some people from understanding the core principles of softwares engineering... algorithms and data structures. There are many frameworks and libraries for virtually anything we want to do, but can they meet all our needs? No, not at all. You would like to program how your software should work the way you want it to work. Then learn to program first. At a professional level what distinguishes one programmer from the others is the knowledge of algorithms and data structures. No matter what you may think this is an absolute truth! Software companies are riddled with a shocking amount of self-taught amateurs who, despite having programmed on a salary for years, have no grasp of the fundamentals of programming and have no idea what a hash table is, how polymorphism works and how to work with bitwise operations. Don’t be like them! Learn the basics of programming first and then the technologies. Otherwise you risk having your programming skills crippled, more or less, for years, if not for life. To join the group send me a private message and note I'm not promising to teach you web, mobile or desktop development and as well I'm not promising to make you to be a professional programmer, no not all, and no one person or book or tutorial can do that. To become a proffesional programmer you will have to work hard for some years, years of active and committed programming and project building. My tutorial will certainly pave a way for this journey! What do I promise? I'm going to teach you how to program, how divide programming problems into steps and tackle them without fear or visiting the internet. This is the most important thing you need, the rest will become easier if grab these fundamentals As improbable as it might seem to you, the basic principles of writing computer programs have not changed all that much in the past 15 years. Programming languages change, technologies get modernized, integrated development environments get more and more advanced but the fundamental principles of programming remain the same. When beginners learn to think algorithmically, and then learn to divide a problem instinctively into a series of steps to solve it, as well as when they learn to select the appropriate data structures and write high-quality programming code that is when they become programmers. Once you acquire these skills, you can easily learn new languages and various technologies – like Web programming, HTML5 and JavaScript, mobile development, databases and SQL, XML, REST, ASP.NET, Java EE, Python, Ruby and hundreds more. If you’ve never written a computer program, don’t worry. There is always a first time. In this tutorial I will teach you how to program from scratch. I do not expect any previous knowledge or abilities. All you need is some basic computer literacy and a desire to take up programming. The rest you will learn from the tutorial. If you can already write simple programs or if you have studied programming at school or in college, or you’ve coded with friends, do not assume you know everything! Join the group there might be many things you are missing out along the way. As the world has moved to digital era, where artificial intelligence can take control of the affairs of the world. There is a need to train programmers who will be the driving forces. Nigerians should not be left behind in this matter, we need experienced programmers who can bring innovations to our country. Some people keep asking how do I learn programming and what is the best programming language to start with. I have a simple answer to this question: Start by learning the fundamentals of programming itself and how algorithms work. The programming language to use is really irrelevant at the moment, and no programming language is better than the others, every programming language was developed to meet urgent needs and was created for a particular purpose. Every language has its own advantages and every single one of them could solve most of the problems you'll face in software development process. You should choose the language that you're familiar with. Great softwares are made by great programmers, not by languages they use. So stop wasting your time jumping from one search engine to another to find out the best and lucrative programmming language. I repeat, you can start from any programming language. You must be determined if you really want to learn programming, don't give up easily. Some people have given up before they reach the rewarding apex of programming career. You should love coding, you should love solving problems. Don't love money! Love coding instead. If you love money you may give up before reaching a point where you will start receiving the money. Programming is a lifetime commitment, are you prepared to take it up? I repeat there is no end in coding. You will code until you grow gray hair and die. Are you willing to sacrifice that much time? Programmers are really the most current professionals. they adapt to new technologies like chameleon. If you are determined let's start now! If you have a tendency to give up at a slight encounter of difficult syntax then I would rather recommend a programming language that has simpler approach to syntax, such languages include Python, Java, C#, Ruby and Javascript. I strongly recommend Java. Starting with C or C++ may discourage some who are new to programming because of C strong use of syntax, to be able to solve a simple problem in C, you need to write many lines of code and follow many rules, the beginners who are not determined to learn programming may easily be discouraged. However, if you are determined, not even C can deter you from learning coding. Resist the temptation to start programming by designing and developing websites and mobile apps, you can never be successful if go on like that. If you start programming like that, you will end up being a laughing stock in a software company. I repeat, don't start programming with building website applications and app development, those things are not bad but you need to start them when you have understood how algorithms work. What is algorithm? A sequence of steps to achieve, complete some work or obtain some result is called an algorithm. This is how programming is related to algorithms. Programming involves describing what you want the computer to do by a sequence of steps, by algorithms. Some of your colleagues directly begin programming with Web or mobile applications and databases without knowing what an array, a list or hash table is. Do not envy them! They have set out to do it the hard way, backwards. They will learn to make low-quality websites with PHP and MySQL, but they will find it infinitely difficult to become real professionals. You, too, will learn web technologies and databases, but before you take them up, learn how to program! This is much more important. Learning one technology or another is very easy once you know the basics, when you can think algorithmically and you know how to tackle programming problems. Starting to program with web applications or/and databases is just as incorrect as studying up a foreign language from some classical novel rather than from the alphabet and a textbook for beginners. It is not impossible, but if you lack the basics, it is much more difficult. It is highly-probable that you would end up lacking vital fundamental knowledge and being the laughing-stock of your colleagues/peers Reading books without practising is meaningless! You must spend much more time on writing programs than reading the text itself. It is just like learning to drive: no one can learn driving by reading books. To learn driving, you need to drive many times in different situations, roads, cars, etc. To learn programming, you need to program! Everybody has studied maths in school and knows that learning how to solve maths problems requires lots of practice. No matter how much they watch and listen to their teachers, without actually sitting down and solving problems, they won’t learn. The same goes for programming. You need lots of practice. You need to write a lot, to solve problems, to experiment, to endeavour in and to struggle with problems, to make mistakes and correct them, to try and fail, to try anew and experience the moments when things finally work out. You need lots and lots of practice. This is the only way you will make progress. So people say that to become a developer you might need to write at least 50,000 – 100,000 lines of code, but the correct number can vary a lot. Some people are fast learners or just have problem-solving experience. Others may need more practice, but in all cases practising programming is very important! You need to solve problems and to write code to become a developer. There is no other way! I have created a WhatsApp tutorial group to be run using the Zoom app which allows sharing of computer screens, you can send me a WhatsApp message if you need the tutorial. Please note is the tutorial is available in Java and Python now.For details send me a WhatsApp message. 1 Like 2 Shares |
Re: First Thing First, Learn To Program! by horlahwaley(m): 12:27pm On Apr 29, 2019 |
08062606144 |
Re: First Thing First, Learn To Program! by progeek37(m): 12:35pm On Apr 29, 2019 |
horlahwaley:Okay. Welcome to the world of programmers. Luckily you are one of the forerunners of this great vision as you are one of the first people to join. 1 Like |
Re: First Thing First, Learn To Program! by progeek37(m): 1:06pm On Apr 29, 2019 |
Here is a sample question In Nigeria, mobile phone numbers begin with the digit 0 and can contain and digits(0,1,2,3,4,5,6,7,8,9). The first 4 digits of the numbers determine the particular network provider. For instance, GlobalCom Nigeria Limited numbers can begin with 0805, MTN 0803 and Airtel 0802 etc. The mobile phone numbers must have 11 digits all together. For instance, this is my MTN number: 0813 568 3431. Write a program that can calculate the total number of possible subscribers of MTN numbers that begin with 0813 and print out all the numbers. HINT total_digits = 11: total digits of each number digits_needed = 7: digits needed to complete 0813 to 11-digit numbers. available_digits = 10: i.e 0,1,2,3,4,5,6,7,8,9 Note: Computer CPU has some limitations, some may not print out all the numbers. Instead of printing out all the numbers in computers with low processor speed and RAM. Consider printing out numbers that meet some certain conditions like numbers that ends with "3431" like my number in the question. But your program must be able to count all the total available numbers in "0813" even though it may not print them all out to the console. Also you have to make the program flexible such that you can easily change the lines for instance, you change can "0813" to "0806", "0803", "0805", "0902" etc or even make it start with country code "+234813". Goodluck. 1 Like 2 Shares |
Re: First Thing First, Learn To Program! by airsaylongcon: 1:11pm On Apr 29, 2019 |
Does the total number of possible subscribers change if its 0803 or 0902? |
Re: First Thing First, Learn To Program! by hitan(m): 2:56pm On Apr 29, 2019 |
07061836156 |
Re: First Thing First, Learn To Program! by progeek37(m): 4:49pm On Apr 29, 2019 |
airsaylongcon:No! The total number of possible subscribers remains the same..."0803", "0813" etc are just prefixes. Note: The prefix just makes the numbers in it different from the numbers in other prefixes. As we know when the number of subscribers reaches the total, the network providers will respond by introducing another prefix. |
Re: First Thing First, Learn To Program! by airsaylongcon: 5:20pm On Apr 29, 2019 |
progeek37: Exactly why I asked. I love your question though. Very brain scratching although I'm sure I can solve it if I get to it. I'd just be lazy and get it done with excel. Is 0813 000 0000 a valid number though? How about 0813 999 9999? |
Re: First Thing First, Learn To Program! by progeek37(m): 8:10pm On Apr 29, 2019 |
airsaylongcon:Yes, they are all valid. But it seems that network providers reserve such numbers as special numbers that can be acquired with huge price. For instance, Airtel reserves 0802 000 0009 as their Message Centre number. MTN Message Centre number is 0803 00 0000 but they remove the last zero! 1 Like 1 Share |
Re: First Thing First, Learn To Program! by asalimpo(m): 8:15pm On Apr 29, 2019 |
progeek37:This ur assignment can gulp some significant lines of code. It ain't as trivial as it seems. But for the simple solution, since the first 4 digits are fixed,it remains generating the next 7, which is simply 10^7, sets. I.e 10 000 000 unique numbers including something like 0813 000 000 0 . After doing this simply append the 4 digit prefixes of ur choice . Save strings to disk. 5 Likes |
Re: First Thing First, Learn To Program! by progeek37(m): 9:29pm On Apr 29, 2019 |
asalimpo:You are really thinking algorithmically! The total number of numbers of each prefix is correctly 10, 000 000. But it seems that you calculated it with basic knowledge of permutation and combination rather than from your code. The program should be able to show that the total number is 10 000 000. For instance, if you are using Python you can store all the numbers in a list, and at the end you will find the length of the list which should produce 10 000 000. However, you have taken the right approach since your program must concur with Maths calculation. But you have to think more if you want to solve the problem, because you are going to face a tougher challenge at a point. But if you think more algorithmically you can win the battle. I will not give further clues on the core logic of the problem. But let me rather give a trivial assistance: consider tackling the program functionally rather than procedurally. Define a function/method and pass to it the prefix as an argument/parameter. This will make your program flexible: you can be able to change the prefix by just calling the function/method with the needed prefix, isn't it smart? 1 Like |
Re: First Thing First, Learn To Program! by asalimpo(m): 10:06pm On Apr 29, 2019 |
progeek37:there arent many prefixes so just store them in a set. Also for the 10^7 tail numbers,use a set also to prevent accidental duplication. They are about 4 prefixes 0816,0806,0805,0802 so prefixes=set . TailNum=set of 10 000 000 7-digit numbers. After generating the tail numbers, then for each prefix ,you append it to each tail num, to produce the full 11 digit phone num. In the end you should hav 4-5 * 10^7 numbers or size-of-prefix set * size-of-tail-set. The other aspects can be handled also by string manipulation. E.g deciphering numbers that begin with country code (234 ,+234) etc. It's work. You're right,aint written a line of code. |
Re: First Thing First, Learn To Program! by progeek37(m): 12:02am On Apr 30, 2019 |
asalimpo:You seem to be approaching the problem from a different perspective. I may not doubt its possibility of working but have you tested it to be working? Note that there can be more prefixes, 0902, 0703, 0706, 0903, 0906, 0812, 0815, 0701, 0807 etc. That is why it is better to be passing the prefix as an argument. So that anytime you need the program to find a certain prefixed-numbers you can simply pass the prefix as a parameter and call the method/function with the prefix. Prefixing is actually the most trivial part of the problem, you should first make sure the program can print all the 7-digit numbers accurately before appending the required prefix to make them 11-digits numbers. Programming is done by actual implementation. Consider writing the codes and check if everything works fine. I have attached screenshots of a sample run of my solution on my Ubuntu terminal. Note: In this screenshots, I passed "0813" prefix as an argument and print the numbers of that prefix that ends with "3431". The first screenshot shows that the first number of the 0813-numbers that ends with "3431" is "0813 000 3431" , this is correct since the first number without any attached condition is "0813 000 0000". The second screenshot shows a portion of the output where my MTN number 0813 568 3431 can be found, can you spot it out? You can also see that the total available possible numbers in the enter 0813-prefixed numbers is 10 000 000, from the screenshot. I ran the program as a module, i hid the source code. Consider writing the program with your own approach and compare with my own sample run. Thanks
|
Re: First Thing First, Learn To Program! by progeek37(m): 3:02pm On Apr 30, 2019 |
As improbable as it might seem to you, the basic principles of writing computer programs have not changed all that much in the past 15 years. Programming languages change, technologies get modernized, integrated development environments get more and more advanced but the fundamental principles of programming remain the same. When beginners learn to think algorithmically, and then learn to divide a problem instinctively into a series of steps to solve it, as well as when they learn to select the appropriate data structures and write high-quality programming code that is when they become programmers. Once you acquire these skills, you can easily learn new languages and various technologies. |
Re: First Thing First, Learn To Program! by asalimpo(m): 6:58pm On Apr 30, 2019 |
progeek37:I could code it up but I'm presently very busy and I don't code in Python. It's straightforward enough that one can plot the algorithm offhead . As for the combining d prefix and the tails (I.e the 7 digit numbers) to form a new number,11,digits, all you need is simply string concatenation. Phonenum=Prefix+ tail; Use a loop to run thru the collection of prefixes to do the same. 1 Like 2 Shares |
Re: First Thing First, Learn To Program! by progeek37(m): 11:27pm On Apr 30, 2019 |
asalimpo:Okay! When you are less busy consider writing the codes and check if everything works fine. Initially, I thought the problem was trivial but as I began to approach it, I later found out that it was not that trivial. That is the reason I'm emphasizing on writing the code to get the feel of it yourself. |
Re: First Thing First, Learn To Program! by ab2care: 11:36pm On Apr 30, 2019 |
please add me on whatsapp |
Re: First Thing First, Learn To Program! by live4dgospel(m): 8:51am On May 01, 2019 |
ab2care:Please drop your number here or send a WhatsApp message to that my number on the sample question. And note that the WhatsApp group is in its early stage, you can add your friends who are interested in our vision. It seems that many people want to become a Web developer database scientist and app dev from day one. Only few really wants to learn programming and how algorithm works. Because of this not many people are interested in our vision however my vision is the greatest. |
Re: First Thing First, Learn To Program! by live4dgospel(m): 8:52am On May 01, 2019 |
hitan:Please note that the WhatsApp group is in its early stage, you can add your friends who are interested in our vision. It seems that many people want to become a Web developer, database scientist and app dev from day one. Only few really wants to learn programming and how algorithm works. Because of this not many people are interested in our vision however my vision is the greatest. |
Re: First Thing First, Learn To Program! by progeek37(m): 9:09am On May 01, 2019 |
hitan:I have added you. |
Re: First Thing First, Learn To Program! by progeek37(m): 11:14am On May 01, 2019 |
Sample Question 2 In the Nigerian Federal universities, the grading system is used to calculate the performance of the students. In one particular university the grading system is as follows: Course code: This is the shorthand representation of the course name. For instance, in the university "An Introduction To Calculus" is given the course code MTH121. Credit hour: This is the contact hour or weight assigned to the course, as an example MTH121 is given the credit hour of 4. Workload: Workload is the sum of all the credit hours of the courses offered by the student in a semester. Students are allowed a minimum of 15 units and maximum of 24 units per semester. Letter grade: These are the letters attached to a score bracket. A scores within a particular range is given the same letter grade: For instance the score bracket in % of the university is given as follows: (70-100) = A, (60-69) = B, (50-59) = C, (45-49) = D, (40-44) = E and (1-39) = F. Grade points: These are the point values assigned to eache letter grade. For instance, in the same university the grade points are as follows: A = 5, B = 4, C = 3, D = 2, E = 1 and F = 0. Quality point: The quality point is the product of credit hours and its corresponding grade point. This means multiplying the credit hour by its grade point. In our example, if a student scores 75 (A) in MTH121 the grade point will be 4 * 5 = 20. Grade Point Average(GPA): This is calculated as follows, GPA = Total quality point/total workload for the semester Cumulative Grade Point Average(CGPA): Mathematically, this is expressed as CGPA = (First semester GPA + Second semester GPA) / 2. If you are still confused about grading system, browse the internet for details. Note: the grading system may vary in different universities, but the algorithm for calculating GPA (grade point average) and CGPA (cumulative grade point average) remains the same. Write a program that can calculate the GPA of any semester and the CGPA of the session, your program should be able to allow one to write the result to file and read result from file as well. You may consider making the output visually appealing by using string methods. For instance the output may appear like this: MTH121----------------------A PHY121---------------------- B CHM121-------------------- D . . . GPA ------------------------3.00 |
Re: First Thing First, Learn To Program! by ab2care: 1:54pm On May 01, 2019 |
live4dgospel:08029617975 |
Re: First Thing First, Learn To Program! by XYZeee: 4:05pm On May 01, 2019 |
progeek37: Add me too. 08032272237, Thanks! |
Re: First Thing First, Learn To Program! by asalimpo(m): 8:18pm On May 01, 2019 |
progeek37:Actually this is toy stuff to an experienced hand. It will b tedious but not something to take up much time. Max a few hours. Nothing when compared to projects that chew up months of time. It's unfortunate what nl is despite being a programmer section. It lacks facilities for programmers! |
Re: First Thing First, Learn To Program! by Tosineb: 5:48pm On May 02, 2019 |
I'm interested in this
08035022501 |
Re: First Thing First, Learn To Program! by Tosineb: 5:48pm On May 02, 2019 |
I'm interested in this
08035022501 |
Re: First Thing First, Learn To Program! by Nobody: 7:25pm On May 02, 2019 |
asalimpo:I bet u use JavaScript |
Re: First Thing First, Learn To Program! by Nobody: 8:20pm On May 02, 2019 |
Some people forming prof saying this ain't worth their time. Wish to be like u guys some day. Well.... Op see this.... quoted u in second page Question 1 [img]https://4.bp..com/-oxZawSySKsE/XM3IdkOKztI/AAAAAAAAa6c/nQhT7SXuCE0dgnTdyHrurF_iOnR7kQzcQCLcBGAs/s1600/20190504_180004.jpg[/img] [img]https://4.bp..com/-G81pTBkAU3o/XM3IiRmpgpI/AAAAAAAAa6k/GsMaBbs-b4gisSnb904qFcQj1fuuNaTUQCLcBGAs/s1600/20190504_180023.jpg[/img] [img]https://4.bp..com/-lm3wrnL5HIc/XM3Igf1Y-dI/AAAAAAAAa6g/OWwG2PiLlm4IcXXjgtT3Z_TeXe721-RrACLcBGAs/s1600/20190504_180114.jpg[/img] [img]https://1.bp..com/-JxyJRD5RCKY/XM3IoA71aMI/AAAAAAAAa6o/7hDqqrMcLaIA48PBBmaxmrjzdGjnbDxjACLcBGAs/s1600/20190504_180121.jpg[/img] [img]https://1.bp..com/-9A6urZaVcq8/XM3IoT_1fCI/AAAAAAAAa6s/j9MpK_1p198yQ9-iuczotiJaJ4jd_iycQCLcBGAs/s1600/20190504_180213.jpg[/img] [img]https://3.bp..com/-6xNyhwvQPyk/XM3IpNsOJgI/AAAAAAAAa6w/gyyG-y4h-I4ti8KXm4ITG30gGYEDm7_hACLcBGAs/s1600/20190504_180327.jpg[/img] Question 2 Note: I purposely reduced the number of possible number combinations because of JavaScript couldn't do 10million numbers on chrome at ease.... I reduced the number to not greater than X*10,000,111 [img]https://3.bp..com/-HI9XJENwnFs/XM3IZWCXqaI/AAAAAAAAa6U/4U2tX-tkezwHz9G-a_SqkZRxsCnwVYbwACLcBGAs/s1600/20190504_022924.jpg[/img] [img]https://1.bp..com/--WTGiHtch5s/XM3IZgnkCfI/AAAAAAAAa6Y/17Vg4ceWQI8j0KsoLQR-hBAxoa7oENDjQCLcBGAs/s1600/20190504_022931.jpg[/img] |
Re: First Thing First, Learn To Program! by Woqhub: 8:30pm On May 02, 2019 |
07060601229 add me, lets code and solve problems am ready yo learn more |
Re: First Thing First, Learn To Program! by Nobody: 8:45pm On May 02, 2019 |
081 |
Re: First Thing First, Learn To Program! by progeek37(m): 9:10pm On May 02, 2019 |
modestbrowser:Okay. Please after solving it consider sharing the screenshots of the sample run of the program. Thanks |
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) ... (11) (Reply)
Driveinhud App Gains Over 1000 Registered User Within One Month Of Launch / Should I Take This Job?(photo) / Astro Programming Language 0.2 (indefinite release)
(Go Up)
Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health religion celebs tv-movies music-radio literature webmasters programming techmarket Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 106 |