background preloader

Education

Facebook Twitter

12 Bonehead Misconceptions of Computer Science Professors « The War on Bullshit. By Kavan Wolfe (published on Oct 19) The poster-child for what’s wrong with postsecondary education is the computer science program. Despite the enormous need for competent programmers, database administrators, systems administrators, IT specialists and a host of other technical professionals, computer science programs seem to explicitly ignore the professional skills of which western society has growing deficiency and proceed with materials and teaching styles that are outdated, ineffective, useless and just plain wrong.

This is due to the absurd misconceptions held by computer science faculty members across many universities. I have personally met computer science professors who believe each of the following things. I make no claims as to how widespread these beliefs are; you can judge that for yourself. 1. I don’t know how many computer science programs start teaching programming using Java, but there are more than a few, and that’s too many. 2. 3. Writing code by hand is stupid. 4. 45 Free Online Computer Science Courses | ProgrammerFish. Missed lectures or hate teachers? Or want to study computer science courses without going to university? … You can study anytime anywhere because there are number of free online computer science courses available on internet that are very interactive.

Here is the list of 45 free online computer science courses that are designed by teaching experts from best universities of the world (almost the whole graduation!). 1. Complete set of course materials. 2. This course is the natural successor to Programming Methodology and covers such advanced programming topics as recursion, algorithmic analysis, and data abstraction using the C++ programming language, which is similar to both C and Java. 3.

Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms. 4. The purpose of this course is to introduce you to basics of modeling, design, planning, and control of robot systems. 5. 6. 7. 8. 9. 10. Continuation of Convex Optimization I. 11. 12. Free Online Course Materials | MIT OpenCourseWare. Google App Engine. Google: Exploring Computational Thinking. How to Design Programs: An Introduction to Computing and Programming. Introduction to Computer Science and Programming | MIT Video Course. Programmer%20competency%20matrix.htm.

Read about the insanely extensible world of Google Apps | youpd. Aside from offering powerful base services, every user account on your domain can be provided access to the full range of other Google products and services without needing a separate sign-on. Browse this link to get a grasp of the range of Google services available. On top of account-level services, Google has built Google Apps in such a way that invites 3rd party developers to offer plug-in services that install at the domain-level, and can then be made available to users within your school.

The Google Apps Marketplace has a wide range of powerful extensions, ranging from document-management tools to online gradebooks and Learning Management Systems, all of which integrate and extend the functionality of your school's Google Apps accounts. Lastly, Google has introduced a new model for school-level computing that puts the entire IT infrastructure in the cloud.

Software design vs. software architecture. Software Metaphors. Nik Boyd Copyright 2003, 2013 Nikolas S. Boyd. All rights reserved. Introduction: Software as Fiction Software is an unique form of literature. As fiction, software is entirely and thoroughly metaphorical. This essay explores a wide variety of these metaphors in hopes of awakening a greater awareness of them in software developers and in hopes of making their acknowledgement more common and explicit in the general practice of software development. Metaphors and Cognitive Science Cognitive science studies conceptual systems, especially how the brain and the mind operate. We acquire our primary metaphors during our earliest years. Given that our subjective and cognitive experiences are rich in metaphor, it should not surprise us to find that our software designs are also full of metaphors. Software and Algebraic Metonymy In their consideration of Where Mathematics Comes From,2 Lakoff and Núñez suggest that metonymy plays a crucial role in our thinking about algebra: Software Elements Figure 1.

The History of Programming Languages Infographic [from Veracode] 3 in Share This post comes from Patrick Moran at the New Relic Blog. New Relic celebrates the idea of a “ nerd economy ” — the idea that developers and modern software builders are the new kingmakers and will dictate the future of our tech community. Any time we see interesting content about the programming community, we like to share it with our readers. Today I’m sharing a piece from our geeky friends at application security company Veracode , who pieced together this infographic which does a good job highlighting the history of some of our beloved programming languages. New Relic is proud to serve many (but not all!) Of the languages mentioned in this infographic. There Are Only 2 Roles of Code. All code can be classified into two distinct roles; code that does work (algorithms) and code that coordinates work (coordinators).

The real complexity that gets introduced into a code bases is usually directly related to the creation of classes that group together both of these roles under one roof. I’m guilty of it myself. I would say that 90% of the code I have written does not nicely divide my classes into algorithms and coordinators. Defining things a bit more clearly Before I dive into why we should be dividing our code into clear algorithmic or coordinating classes, I want to take a moment to better define what I mean by algorithms and coordinators. Most of us are familiar with common algorithms in Computer Science like a Bubble Sort or a Binary Search, but what we don’t often realize is that all of our code that does something useful contains within it an algorithm. Take a moment to wrap your head around this. Think of it like a computer. Let’s address why first. 15. if(newSession)