Computersare commonly used items in many areas. Almost anything we know is runor made by computers. Cars and jets were designed on computers,traffic signals are run by computers, most medical equipment usecomputers and space exploration was started with computers. Most ofthe jobs today require the use of computers. Computer science orcomputing science (sometimes abbreviated CS) is the study of thetheoretical foundations of information and computation and ofpractical techniques for their implementation and application incomputer systems. The rewards of taking this course are immense. Thejob prospects for computer scientists and computer engineers areexcellent. So there is no surprise that computer science relatedtechnology has been gaining great attention these days. Large numbersof students are flooding into this area. However, many of them getfrustrated on their way of Computer Science Learning, because thereis more to a CS degree than just learning how to program. Besides,there is too much information now and it is still increasing at thetime. They have the wrong way, or at least not the proper way, tolearn computer science!
InChina, Many of the college students majoring in computer science orrelated fields are handling their computer science related studies ina way that is not effective. They pour plenty of time and energy intolearning computer science. However, they find it quite difficult togain great progress. Usually books on computer science, no matterprogramming or database management, are too thick to read from beginto tail. Students have to bite the bullet to the books and thenpractice in the simulation programming environment on their personalcomputer again and again. This is a trying part. According tothesurvey of students incollege of software on the Computer Science Learning, which isconducted by Codefor, students normally spend long time sitting infront of their computer or in the classroom learning computer sciencebut feel quite puzzled after that. The survey also indicates that themajorities of students feel unsatisfied with the current learningmethod but have no idea of how to improve it.
Feelingat sea about the large amount of computer science related knowledgeto learn would be another proof that the students are taking thewrong way to learn computer science. Lacking a proper way aboutlearning and facing mass of computer science related knowledgeapparently result in that.
“Bepatient in your studies, and don't get too frustrated if you arestuck on one part of a programming assignment or confused about aconcept. Struggling with the materials is a normal and essential partof the learning process. You're probably better off going through thecourse sequentially and consulting external references as needed.Each lesson, particularly in the programming component of the course,builds on previous sections and it is best to keep up with thematerials throughout. You're welcome to go at your own pace and beginor end at any time.” Normally, when we encourage someone not tolose heart learning computer science, those words would be in ourmind. However, we’ll introduce something totally new to you.Perhaps you never heard of it and the new method sounds unreasonable,but it does help for those students who are struggling learningcomputer science.
Recursivelearning would be a better and effective method in learning computerscience. Recursive learning means recursively finding the solutionswhen encountering with new knowledge. Firstly you should get anoverall brief view of what you're supposed to learn. Because there atoo much knowledge to learn in computer science, you must make itcrystal clear about where you are going and what trunk knowledgeyou’re supposed to learn. For example, Andy wants to beprofessional on database theory .To be professional in databasetheory requires programming language, such as C/C++ or php, datastructure& algorithms, Compiler theory, etc. So Andy makes a listof pilot courses and follow-up courses of the above. Intheory, after Andy completes all these courses, he will achieve hisgoal. In this way, we solve the puzzle on what to learn aboutlearning computer science. Secondly, you start again thoroughlylearning from the very beginning. This time, when you encountersomething new—and you encounter them for sure--you recursivelysolve it in certain ways. You can question your helpers or Google it.After solving the problem, you should write solutions. This is thekey step. Solutions help you out when you encounter them later. Andthen, the process loops. In other words, every time you meet a newproblem you should mark the point you’re learning and them focus onthe only problem and try your best to solve the problem. After yousolve the problem, you write a solution for future use in case youencounter it again and then backtrack to the origin point you markand continue your courses. For example, when Evelyn learns php (aprogramming language) on garbage collection, she meets a paper aboutConcurrent Cycle Collection in Reference Counted Systems. She doesn’tknow how the reference counted system helps the garbage collection orwhat the paper is about. She searches the internet and downloads someanalysis documents about the problem. In this way, she solves theproblem and writes a solution on how the reference counted systemhelps the garbage collection in php. After that, she returns tolearning other php features. Thus, Evelyn not only gets a moreprofound understanding on php garbage collection, but also save acopy about that for future use and communication with others whoencounter the same problem.
Thekey points of recursive learning method in learning computer scienceare recursive solving problems and the solutions. Recursive solvingproblems help ensure our right way to the goals. By backtracking tothe origin point, we can ensure we’re heading in the rightdirection of our goal. In the Evelyn’s case, as shows above, aftershe solves the paper about Concurrent Cycle Collection in ReferenceCounted Systems, she returns to learning other php features. Noticethat Evelyn does not fall into the mire about reference countedsystem or computer speed or other unrelated things. She returns tophp learning! Writing solutions every time you solve a problem issuch a good habit that you’ll benefit much from it when youcommunicate with others about the problem or reencounter the sameproblem in the future. For example, three months later, I meet thesame problem about a false sql statement. I could solve it by justreferring to the document I write when solving it last time.
ComputerScience covers a wide range of fields. We can see most of the thingsabout Computer Science are mandatory, such as Analysis of algorithms& Computational complexity theory, Compiler theory, Theory ofcomputation (Combinatory, Discreet math, Numerical methods), Logic incomputer science, Database theory and Programming Languages.Recursive Learning method, as analyzed above, at least in a certainway, is much more effective to learn computer science than the normalmethods. As the recursive learning method is came up with to solveproblems allowing for the characteristics of the computer science,applying the recursive learning method to different fields ofcomputer science, no matter to Analysis of algorithms &Computational complexity theory or to Theory of computation, receivesalmost the same results. Obviously, the result is appealing!
Wehave introduce to you both the former methods to learn computerscience ,which is spending lots of time in front of computer andfeeling puzzle, and the new method, which is recursive learningcomputer science , achieve solutions , backtracking to the originalpoint and moving forward. In the above, we have compared the formermethods and the recursive learning method in computer science indetail. Recursive learning in computer science has many advantagesover the traditional ones. You can have a more clear learning programand practice in a more clear way to achieve your goal. You can showpeople what you’ve learnt by sharing your solutions generated whenyou take your courses. We have conducted experiments about recursivelearning on the students of the Software College of BeihangUniversity. It really helps in software engineering. 81 percent ofthe students think they get a better understanding of what theyshould learn after taking the recursive learning method in theirsoftware engineering studies. For all the analysis above, we drawconclusion that recursive learning method in learning computerscience is much better than the traditional way learning computerscience. We recommend that students whose major is computer scienceor related majors should try this method and gain great progress.Teachers concerned can also introduce to their students about thelearning method. Even, everyone who is interested in CS but feelspuzzled by it should try it out! Anyway, it doesn’t hurt to try.
(How"hard" are computer science courses?)