News for hackers. Stuff that matters.
Re:A computer science study plan by eesmith on Monday December 11, 2017 @04:33PM (#15900670)
One of the things I look for, in recommendations like this, is a mention of ethics. As an engineer we are obligated to understand the ethical consequences of our work, both in failure and success, and not do unethical work. This list of algorithm-heavy topics left out ethics, as well as other topics.

Here are the curricula recommendations that the ACM has for a software engineer, extracted and reformatted from https://www.acm.org/binaries/content/assets/education/curric... . The min/max expresses a weighting scheme for each of the knowledge areas

  min max  Knowledge Area 
   5   5   Programming Fundamentals 
   1   3   Integrative Programming 
   3   4   Algorithms and Complexity 
   2   4   Computer Architecture and Organization
   3   4   Operating Systems Principles & Design 
   2   4   Operating Systems Configuration & Use 
   2   4   Net Centric Principles and Design 
   2   3   Net Centric Use and configuration 
   0   3   Platform technologies 
   2   4   Theory of Programming Languages 
   3   5   Human-Computer Interaction 
   1   3   Graphics and Visualization 
   2   5   Information Management (DB) Theory 
   1   4   Information Management (DB) Practice 
   2   5   Legal / Professional / Ethics / Society 
   2   4   Information Systems Development 
   1   3   Analysis of Business Requirements 
   0   3   E-business
   3   5   Analysis of Technical Requirements 
   2   5   Engineering Foundations for SW 
   2   3   Engineering Economics for SW 
   4   5   Software Modeling and Analysis 
   5   5   Software Design 
   4   5   Software Verification and Validation 
   2   4   Software Evolution (maintenance) 
   2   5   Software Process 
   2   4   Software Quality 
   2   3   Comp Systems Engineering 
   0   3   Digital logic 
   0   4   Embedded Systems 
   2   4   Distributed Systems 
   1   3   Security: issues and principles 
   1   3   Security: implementation and mgt 
   1   2   Systems administration 
   1   4   Systems integration 
   0   1   Digital media development 
   0   1   Technical support 
along with non-computing topics, which includes the mathematics you mentioned:

  min max  Knowledge Area 
   2   4   Risk Management (Project, safety risk) 
   4   5   Project Management 
   0   2   Digital Signal Processing 
   0   1   VLSI design 
   3   5   Mathematical foundations 
   3   4   Interpersonal communication  

For example, the ACM explicitly recommends software engineers learn both "Analysis of Business Requirements" and "Analysis of Technical Requirements" which, unless I missed it, is only implicit in the list given here.

(I have omitted areas with min=max=0 for software engineering. The original table also includes weights for related fields. Eg, "Functional Business Areas" is an important topic for those going into Information Systems, but not for software engineering, "Scientific computing (Numerical mthds)" is weighted 0/5 for CS, but 0/0 for software engineering, and "Electronics" is weighted 5/5 for a computer engineer but 0/0 for software engineering.)

Re:A computer science study plan by anonemouse145 on Monday December 11, 2017 @04:58PM (#15900908)
A sprinkling of ethical project management turns a good developer into a great coworker.
Re:A computer science study plan by pliftkl on Monday December 11, 2017 @06:39PM (#15901820)
I don't feel like being an engineer obliges me any more or any less than any other employee regarding the ethical consequences of my work, nor do I have any stronger obligation than any other employee to not do unethical work.
Re:A computer science study plan by eesmith on Monday December 11, 2017 @06:53PM (#15901911)
Would you prefer this wording instead: "As a professional engineer, in our ethical decision making we must make sure to learn about the specific ethical questions related to software engineering"?