Is Web or Native Development the primary focus on a Computer Science major?

<p>Hello!</p>

<p>To all of you Computer Science majors out there, or for those of you that are in the know, I was wondering whether web development, or native development and knowledge was the primary emphasis with a computer science degree.</p>

<p>I personally believe that the web is the future. Plain and simple. Not that learning about hardware, assembly languages and all of that is important, because I believe it truly is.</p>

<p>I am more concerned with learning programming languages. I would personally not be interested in learning much about Java, C++ and other native object-oriented programming languages (not sure if Java is object oriented though, sorry xD). Not saying that wouldn’t be cool “for the now”, but I am more concerned with the future!</p>

<p>Take HTML5 and CSS3 for example, or perhaps, even ASP.NET or its more lightweight and open-sourced counterpart, PHP. I believe those are the technologies of the future, and I would be much more interested in learning about these techs versus some of the more native languages and such.</p>

<p>So, sorry for the ranting there!</p>

<p>Anyone with inside knowledge about what one majoring in Computer Science studies, I would be HIGHLY interested!</p>

<p>Thank you for your time.</p>

<p>Computer science should counts as engineering major. But nonetheless, let me guide you.</p>

<p>Computer science is not =/= software engineering. Computer science is not =/= web development. What computer science emphasis is the idea of mathematical science in computation. These include algorithm, data structure, numerical analysis, stimulations, and a bunch of many interesting topics. </p>

<p>After completing computer science, one can easily write a software / application. A real one. </p>

<p>Web development is not a primary focus in computer science. It is just an alternative path. </p>

<p>Take Google for example. How do you do search? Well from start, we have the basic binary search. But it’s extremely slow. In algorithm and data structure one will learn how to write a good program that will reduce search time from 1000000 years to 1 second.</p>

<p>When one speaks of web development, we should distinguish web application development and web design. Web design is simply make-up: css, html, flash, javascripts, action-scripts…</p>

<p>If we think of facebook, google, or youtube, these companies hire software engineers to develop web applications. They need the computer science background to write a good application. </p>

<p>Learning too many language at once is unwise. Start with C++ or Python. I find C++ a bit easier to start with because Python, with fewer synatx (this is what Python is about, people who never had programming experiences might find themselves uncomfortable.</p>

<p>When you start C++, you aren’t really writing C++ codes. When we say C++, we really mean programs that use real C++ features: standard library template, algorithm. One can show that writing a simple C++ array can be done more effectively when use vector in C++.</p>

<p>But for now, if you just do simple C++, you are good. Once you can understand the basic, you can move on to real C++ programming, this include writing classes.</p>

<p>HTML5 is still relatively new, If you have never had HTML and CSS experience, learn them first. </p>

<p>PHP is probably overrated. Although Facebook uses PHP and MySQL, they have to custom code PHP using various other languages and engines. It’s very interesting to learn them.</p>

<p>Again, if you are really into writing web development, you should break down your focus.</p>

<p>And then again, computer engineering vs computer science is another interesting question. :)</p>

<p>Thank you SO much for your detailed reply!</p>

<p>

</p>

<p>That does sound interesting, and applicable to really anything related to computers.</p>

<p>

</p>

<p>Sounds great!</p>

<p>

</p>

<p>OK, makes sense.</p>

<p>

</p>

<p>I would like to be experienced in web application development AND web design. I’ve had some experience with the markup languages you’ve listed, and they’re not too bad. My guess is that web application development is a lot more involved, depending on the scale of course! Imagine the developing behind Google Wave!</p>

<p>

</p>

<p>Everything is starting to make a little more sense.</p>

<p>

</p>

<p>Well, aren’t these native applications? What languages do web developers use mostly? Wouldn’t it be more of the HTML, CSS, JavaScript and PHP stuff? Or does learning this native code just help?</p>

<p>

</p>

<p>Good idea.</p>

<p>Really, I want to get my masters in Business Admin, an MBA if you know the term.</p>

<p>Yet, I love technology, and web design, web application development, native development, and other computer-related things like all of the math behind, in other words, computer science.</p>

<p>So, I was looking for a way to have a fantastic background in computers, so that when I begin business, I can hopefully work for, or even start my own small company, which deals with the latest technology. Like Google perhaps.</p>

<p>Thanks again for the help, any more would be once again greatly appreciated!!</p>

<p>Great post jwxie!</p>

<p>

</p>

<p>It really depends on what one is developing!</p>

<p>Remember, HTML, CSS, and JavaScript are not programming languages (although some of the structures that JavaScript uses resemble a programming language).</p>

<p>If your ultimate interest is business, IMO, you might want to study Java (NOT JavaScript). It is a true programming language, capable of creating both stand alone applications or applets within another environment (such as a browser). </p>

<p>Good luck!</p>

<p>Web is the future but majority of programs are still ran on the machine. Cloud computing will most likely change that in the next 5-10 years. If I were you i would learn Java first. Many web based programs use Java. After that I would learn Ruby/Ruby on Rails quite a few companies use that to make web base management apps. </p>

<p>Website development is considered to be low level in CS. Majority of CS majors(from my experience) enter college knowing HTML, CSS, and other web development markup languages such. In HS I self taught myself HTML, CSS, Javascript, VBscript, Java, and VB. It help prepare me for a college level programming work. Web based programs and website development are drastically different.</p>

<p>

</p>

<p>That was a lame question lol, I got you.</p>

<p>

</p>

<p>My bad, I use the term too loosely, they’re markup languages, aren’t they?</p>

<p>

</p>

<p>OK, I would like to learn both, actually.</p>

<p>

</p>

<p>So you don’t see Java as being soon obsolete? I doubt it, and, I’ve heard that after learning one programming language, it becomes a lot easier to learn a second, because if they’re similar in nature (like say, both object-oriented), oftentimes, they’ll just consist of different syntaxes, while trying to accomplish similar things.</p>

<p>

</p>

<p>Aw, that makes sense though, they’re pretty easy! Some of them at least.</p>

<p>

</p>

<p>Now, I could really use some guidance here. I’m actually in the process of developing my own website, and additionally, working on a few web projects for my work’s company, leading me to believe it would be more beneficial for me at least, to finish my studies in HTML, CSS, and perhaps JavaScript. Would that order be OK? If I were to learn VBscript and VB.net (I’ve heard VB is kind of outdated), then wouldn’t it make sense for me to learn ASP.NET. Also, those are all web markups and programming languages, essentially, aren’t they? Then you mentioned Java. Is it okay to learn that after all of the languages I just mentioned. I really wonder if I’ll have time for all of those, lol.</p>

<p>Also, how did you learn these?</p>

<p>You mentioned self-taught, but do you just mean by book or website?</p>

<p>Thanks everyone again!</p>

<p>It sounds like you have a hunger to learn :slight_smile: </p>

<p>Go on your public library website and do some subject searches, for example “Internet programming” and you will be amazed at how many books are in their system. Many have CD’s with sample code, and some have associated websites with samples and more instruction.</p>

<p>If we don’t get into that technical about languages, then I think business sector love to use java beside the old cobol. </p>

<p>A real web application is a work of multi-group of specialists. I will name a few: software engineers who do the real application development; web designers, who design and create the layouts; server specialists, people who manage and maintain servers applications; content managers, people who create and write contents. </p>

<p>The list can go on forever if you wish. </p>

<p>If you take Facebook as an example, 1 per 3 million users is a huge responsibility. The essential skills needed for its development and maintainnce is a big engineering task. </p>

<p>But if you really like to learn more about software development, I think an undergraduate study in computer science is the only way out. You can still choose any major or any concentration you want. But there no way that anyone should or could call himself a software engineer without graduate from a formal computer science program. </p>

<p>If you have to develop college confidential entirely from scratch on your own, I think for people who have strong development experience in PHP, MySQL and basic HTML and CSS (and JS) experiences should be able to produce one in just a few days.
I think PHP and MySQL are quite common, and you will learn a lot from them. I am just suggesting that this combination is the most popular one. I don’t want to bring a heated debate on Python vs PHP vs JSP vs ASP.Net</p>

<p>To increase efficiency, and manageability, it is more convenient to develop your website using a web framework. For example, the most well-known Python web framework is Django. </p>

<p>Oh just a side note. In spring I attended a presentation on Groovy on Rails. The idea of Groovy on Rails is to allow non-technical people to become part of the development and maintenance effort. In other words, the syntax have been customized and defined more English-comprehensible. The strategy is to bring in business experts who don’t necessarily have any technical experience to collaborate in making decisions. You can’t run the entire website (which is really part of the business, part of the marketing) by the engineers.</p>

<p>[W3Schools</a> Online Web Tutorials](<a href=“http://www.w3schools.com%5DW3Schools”>http://www.w3schools.com) Great site and tutorials.</p>

<p>

</p>

<p>You seem to be saying that JavaScript is not a “true” programming language. You are incorrect. I recommend reading [JavaScript:</a> The World’s Most Misunderstood Programming Language](<a href=“http://javascript.crockford.com/javascript.html]JavaScript:”>JavaScript: The World's Most Misunderstood Programming Language).</p>

<p>Some call JavaScript a web scripting language and some consider it a programming language. I tend to think of it as the latter as it will do what other programming languages will do. Yes, you can be quite sloppy in your programming due to the flexibility of the language.</p>

<p>I sat in on a few meetings with Brendan Eich, inventor of JavaScript, a few years ago during TraceMonkey development. TraceMonkey was Mozilla’s JIT compiler for JavaScript to improve performance. Something that was previously implemented in some Java implementations.</p>

<p>Hey guys!</p>

<p>Thanks for all of the posts, these have helped me a LOT!</p>

<p>I have recently been dabbling in jQuery and Objective-C, and I’m thinking perhaps even C#.</p>

<p>I’ve learned that pretty much the best thing, in my opinion, you can do to begin, is just to start! I started with jQuery, with which the term “programming language” applies quite loosely, and I have begun to pick it up quite quickly.</p>

<p>Exploring Objective-C along with jQuery, just for fun so I can develop my own Mac and iOS applications, I have even noticed similarities between the two!</p>

<p>I love jQuery because it’s so awesome just to visually see some nice enhancements to your website right on the fly, and it’s quite an intuitive framework to work with. Short, sweet, clean and fun, really the way JS should be.</p>

<p>Objective-C is awesome because it’s local development. Kind of a different angle to programming than jQuery and JS. It’s quite powerful, and it’s also Object Oriented, completely different than jQuery and JS which are both quite procedural in my opinion.</p>

<p>I would like to even dabble in C# to get a little feel of that along with Microsoft’s XNA Game Studio. I like the fact that when I do some programming, my experience picks up, and when I switch back and forth between languages, I just need to think of a different syntax and a few different methods or actions that are available to me.</p>

<p>I think I chose some pretty safe options too. I don’t think jQuery is going anywhere because of all it’s major adopters, such as Google. And let’s face it, whether you love or hate Apple, Jobs has had Objective-C neatly wrapped up with him since NextSTP, so it’ll most likely be around for quite some time too.</p>

<p>I like the concept of C# because I think there is not too bad of a market out there because with XNA Game Studio you have the market of the XBOX 360, Windows Phone and of course, the PC.</p>

<p>I’m starting with the iPhone and Objective-C though, because who could beat that.</p>

<p>I honestly don’t know if I’m going to chose Computer Science as a major. I’m not 100% sure yet, but I think my time may be better off spent on having my education grown in Business or Economics or something of the like, perhaps with a minor in Psychology, and then program as a hobby and add it to my “business” if I ever get there.</p>

<p>I really appreciate all the help from you guys, and if you have any more insight or opinions about the path I’m considering, please let me know!</p>

<p>Thanks again!!</p>

<p>As others have said, computer science (CS) is not primarily concerned with web development; it’s hard to pinpoint a specific domain it focuses on at all. Many people point at the mathematical foundations of CS and say it has something to do with algorithms or mathematical this and that; this description is really difficult to comprehend for people who haven’t already studied higher level mathematics or CS! I like to describe it as the study of automating the manipulation and transformation of information (numbers, images, text, audio, or other media both existing or not yet invented). Notice I make no mention about programming or even computers!</p>

<p>You probably don’t need a CS degree if you’re more interested in tech business or even programming. It’s not too difficult to pick up programming skills on your own using either books or the internet; a CS degree might help you pick up one or two languages at a -basic- level, but the coursework alone will never prepare you to be competent at programming real applications. I know plenty of CS students (and professors!) who aren’t really good at programming, and it doesn’t make them poor computer scientists.</p>

<p>Obtaining a CS degree to be a run-of-the-mill programmer seems to me like being an engineer so you can maintain your car - completely unnecessary. Anyone can learn how to change oil, check air pressure, change a battery, etc. Even auto mechanics don’t need to know the physics and mathematics that go into designing a well balanced and fast machine.</p>

<p>To be a confident programmer who can write “sophisticated” applications without a team of software engineers designing the layout or computer scientists developing the algorithms, you will benefit from some background in CS. It’s hard to appreciate what that means until you’ve obtained a degree in CS, but think of the car analogy. Computer scientists are the ones looking at problems with existing algorithms and how things currently work so they can push new ideas forward. This is the “science” in computer science.</p>

<p>I’m a rising sophomore CS major who’s doing a summer internship at a software consultancy which does Rails webapps. I agree that the backbone of CS is mathematics/theory which isn’t relevant to webdev jobs, and I’ve had to learn everything from scratch this summer.</p>

<p>Yes. If you are really interested in building world-class application, by all means do Computer science. This is the only work around. I know there are people who are SE now and they didn’t major in CS. what js911 said is very true.</p>

<p>Ps: Jquery and JS are not programming languages… they are just for web development…
but if you can wrap them in these native languages, good for you. I am not that technical yet.</p>

<p>So, I’m coming back to this thread I started a while back because I’m beginning to discuss possible Majors once again.</p>

<p>Now, I think I may understand what you have been posting about jwxie.</p>

<p>Computer Science instead of learning programming languages, web design or web development, it is applying mathematical concepts to how computers behave, work and compute. And by studying this, one naturally becomes much more competent at the designing and developing of software applications.</p>

<p>I think that is correct, or at least partially so, and I by far understand this much more than I did a few months ago.</p>

<p>I’m still not 100% certain about what Major I’m going into at the moment.</p>

<p>My contenders for my undergrad major are:</p>

<ul>
<li>Business admin</li>
<li>Economics</li>
<li>Computer Science</li>
</ul>

<p>I will be pursuing an MBA after my undergraduate degree, so that is why I’m not 100% set on Business admin.</p>