Ask HN: I'm a non-CS major. What CS courses should I take?
My question to you is: what CS-specific courses should I take to help me build web applications? I'm not particularly interested in AI, higher-level math, and most other "technical" subjects. I just want to build web businesses. But, I would like to get at least some of the "theory" that a CS major provides.
----
Some possible options (that are available at my school). These are after the "intro-to-cs" class. Of these, what do you recommend? And what am I missing?
DATA STRUCTURES
This course emphasizes the study of the basic data structures of computer science (stacks, queues, trees, lists, graphs) and their implementations using the Java language. Included in this study are programming techniques which use recursion and reference variables. Students in this course are also introduced to various searching and sorting methods and are also expected to develop an intuitive understanding of the complexity of these algorithms.
COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE PROGRAMMING
The purpose of this course is to study the components of computing systems common to most computer architectures. In particular, this class is meant to introduce data representation, types of processors (e.g., RISC V. CISC), memory types and hierarchy, assembly language, linking and loading, and an introduction to device drivers.
SOFTWARE ENGINEERING
The purpose of this course is to provide a general survey of software engineering. Some of the topics covered include: project planning and management, design techniques, verification and validation, and software maintenance. Particular emphasis is on a group project in which a group of 4-5 students implement a system from its specification.
-----
Also, I'm supplementing this with Stanford, MIT, and other schools' free coursework and various online tutorials/books. Any particular recommendations?
Thanks a bunch.