Wednesday, January 7, 2015

Problem to Execution Methodology

Computer Science does not start by coding, but preparation and analysis in order to solve a problem at hand. That process requires many years of preparation and logical approach to solve problems. Thus, computer science is not as dependent on the programming language as most people think it is. Your first question about computer science should not be, "What language I should learn?", but how do I learn to solve mathematical problems. Problem solution starts with simplification, pattern recognition, and strong math background to create an algorithm that can solve the problem at hand in a finite amount of time and in a reliable way. Lately, we might also add the consideration of "securely" in order to solve problems in a way that is securely controlled.

                                                                   Methodology

                                      Problem                                           Logical thinking
                                           |
                                          V
                                     Analysis   <----------------              Simplification, experiments, pattern recognition                                                           |                                  |
                                          V                                 |
                              Algorithm Design  <----------- |              Math
                                           |                                  |
                                          V                                 |
                                      Coding  <-------------------|               Language ( security )
                                           |       <---------------- |   |
                                          V                             |   |
                                 Pre-processor                 |   |              Operating system  ( security )
                                           |                              |   |
                                          V                             |   |
                                    Compiler------ Error ---     |             Integrated Development Environment ( IDE )
                                           |                                  |
                                   (No Error)                          |              Syntax error depends on language used
                                           |                                  |
                                          V                                 |
                    Library --> Linker                              |             Operating system  ( security )
                                           |                                  |
                                          V                                 |
                                     Loader                              |             Operating system  ( security )
                                           |                                  |
                                          V                                 |
                                     Execution ------ Error ----              Run time error ( strong testing methodology )
                                           |                                                                    Input validation
                                   (No Error)                                        Logical errors hard to detect (test, test, test, ...)
                                           |                                                                        ( security )
                                          V
                                      Results                                                    Aesthetics and user friendliness
                                                                                                ( security -  displayed error messages )

In many cases, you will need to learn how to compile your code, but the Graphical User Interface ( GUI ) based IDE environments can divert your attention from how the process actually works.  I have created a video to help you understand the process of compiling code.  The video will also show you how to create libraries and DLLs and compile these static and dynamic libraries into your code.

http://youtu.be/7Gt5FJpEQvA





No comments:

Post a Comment