My journey through CIS 2336 has allowed me to learn various client-side and server-side technologies that facilitate the creation of advanced websites. In addition, it has given me insight into how I was able to learn and understand those technologies. The brief time permitted by the course has limited what I would ideally like to accomplish; however, I will nonetheless be able to utilize the experiences gained in this course to accomplish greater things in the future.
This course introduced me to the fundamentals of individual client-side technologies–HTML, CSS, and JavaScript–and server-side technologies–PHP and MySQL. Additionally, I was shown how each of those technologies relate to the others and work in concert to create advanced websites. HTML is responsible for establishing the structure and content of a page; CSS manages the style and presentation of that content; PHP and MySQL together allow for customization of that content and interactivity with end-users (on the server side); and JavaScript further allows for customization of that content and end-user interactivity by controlling the behavior of pages (on the client side). Each piece of technology is vital to a dynamic website, and each greatly enhances and builds upon the functionality of the other technologies.
A variety of teaching tools were used in this course: web tutorials, video tutorials, and textbook excerpts. Although all tools served their purpose, some were far more effective in conveying the course materials to me.
As the reviews of each module of this learning portfolio have indicated, assignments involving practical, hands-on demonstrations were consistently the best for me. Although I appreciated Codecademy assignments for introducing me to the basics and W3Schools assignments for serving as a dependable reference source, the materials presented in those assignments often seemed disjointed, theoretical, or abstract when viewed in isolation. I very much needed the assignments that utilized a real-world approach to help put the dry, academic lessons into perspective.
Furthermore, the tone of the assignments with real-world approaches (e.g., Eli the Computer Guy) was helpful in providing an approachable and unintimidating learning atmosphere, which made me far more receptive to learning things that would otherwise remain foreign and overwhelming. Of course, this was not limited to video tutorials; even the textbook, PHP and MySQL for Dynamic Web Sites, adopted a casual, conversational tone that made difficult topics easily digestible.
Moreover, I very much welcomed assignments that showed me a clear-cut, step-by-step approach to building complete pages, which allowed me to recognize the importance of each individual step or process, as well as the importance of how they all relate to each other. For example, PHP and MySQL for Dynamic Web Sites provided examples of complete pages, not just snippets, like in Codecademy and elsewhere. Thus, I was able to follow the source code from beginning to end and understand the significance of every portion of it.
Despite how much I have accomplished in this course, I am fully aware that I have just barely scratched the surface of Internet application development. If I had more time, I would like to further explore MySQL. With the continued growth of Big Data, database administration will undoubtedly hold greater importance in many companies.
I walked into CIS 2336 not knowing a single thing about HTML, CSS, PHP, MySQL, or JavaScript. As I now leave the course, I know far more than I did but still not very much in the grand scheme of things–and that is perfectly fine.
As I previously mentioned in Module 4 of this learning portfolio, Professor Crowley distinguishes learning programming from learning a specific language; the former prepares you with an approach that can be used to tackle all programming languages, whereas the latter familiarizes you with just that particular language.
I believe that view may be more broadly applied to learning in general. Am I only learning the materials presented in a course–that is, am I merely surviving from assignment to assignment and exam to exam; or, alternatively, am I developing a non-specific learning approach that I will be able to bring with me to all my future courses and even my eventual career? Through the first three modules, I was exposed to various technologies taught through a variety of approaches. I was able to understand and appreciate many new ideas and concepts, but perhaps more importantly, I was able to additionally recognize how I was able to learn. With the fourth and final module, time constraints of the semester permitted only two assignments, but that was of little importance to me because I no longer needed my hand to be held. By that time, I had already figured out how to go about learning new technologies.
Taking that view even beyond the CIS 2336 course, I feel confident that I can use this same approach for any material in any class or any project in any professional environment. After all, the technologies that I have learned in this course will continue to change and will even one day become defunct, but the general learning approach I have developed will be timeless, which is why it will likely be my greatest accomplishment in this course–far more valuable than any assignment, exam, or course grade.