473,578 Members | 3,104 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

software engineering foundations?


Sorry for the off-topic-ish post. My son (a fairly junior sysadmin type)
mentioned to me today that he was looking for online courses for Perl. (I
don't hold that against him. Perl is still a lingua franca in the sysadmin
realm.) In my work I have from time-to-time had to pick up and maintain
scripts (generally shell/Python stuff) which non-professional programmers
have written. It's never what you would call a "pleasant" task.

There are software construction skills which are entirely distinct from the
language in which you are programming. We can tout object-oriented,
structured programming, test-driven development or other software
engineering techniques, but there is a body of knowledge out there which is
orthogonal to the language in which the code is written. People who are not
professional programmers often lack those skills and their code shows it.

Are there any good online resources for this "software structure" axis?
Googling for "object oriented programming tutorial" yields a bunch of stuff,
much of it language-specific. I'm trying to find something a bit more
general than that though.

I Googled for "software engineering tutorial" as well. Most of the early
hits were either inaccessible (ACM subscription only) or contents-like stuff
(conference announcements, for example). Number eight on the list was this
rather promising page:

http://www.cmcrossroads.com/bradapp/...swe-links.html

It was last updated over 10 years ago. I find it hard to believe that
so little has changed in that time that some other page with more recent
references hasn't percolated to the top of Google's page rank! After all,
the Web has grown just a tad in that timeframe.

I have a sneaking suspicion that what I'm looking for is out there, but that
I'm not asking Google in the right manner. Any and all pointers/suggestions
cheerfully accepted.

Thx,

--
Skip Montanaro - sk**@pobox.com - http://www.webfast.com/~skip/
------
ELON MUSK: If fuel cells were good, don't think you'd see them somewhere,
like maybe in a laptop or a cell phone or a $200 million military satellite
maybe? And yet, where do you see them?
SPENCER MICHELS: You don't.
ELON MUSK: Exactly.
Jul 22 '08 #1
3 1630
On Jul 22, 7:52*pm, s...@pobox.com wrote:
Sorry for the off-topic-ish post. *My son (a fairly junior sysadmin type)
mentioned to me today that he was looking for online courses for Perl. *(I
don't hold that against him. *Perl is still a lingua franca in the sysadmin
realm.) *In my work I have from time-to-time had to pick up and maintain
scripts (generally shell/Python stuff) which non-professional programmers
have written. *It's never what you would call a "pleasant" task.

There are software construction skills which are entirely distinct from the
language in which you are programming. *We can tout object-oriented,
structured programming, test-driven development or other software
engineering techniques, but there is a body of knowledge out there which is
orthogonal to the language in which the code is written. *People who are not
professional programmers often lack those skills and their code shows it.

Are there any good online resources for this "software structure" axis?
Googling for "object oriented programming tutorial" yields a bunch of stuff,
much of it language-specific. *I'm trying to find something a bit more
general than that though.

I Googled for "software engineering tutorial" as well. *Most of the early
hits were either inaccessible (ACM subscription only) or contents-like stuff
(conference announcements, for example). *Number eight on the list was this
rather promising page:

* *http://www.cmcrossroads.com/bradapp/...swe-links.html

It was last updated over 10 years ago. *I find it hard to believe that
so little has changed in that time that some other page with more recent
references hasn't percolated to the top of Google's page rank! *After all,
the Web has grown just a tad in that timeframe.

I have a sneaking suspicion that what I'm looking for is out there, but that
I'm not asking Google in the right manner. *Any and all pointers/suggestions
cheerfully accepted.

Thx,

--
Skip Montanaro - s...@pobox.com -http://www.webfast.com/~skip/
------
ELON MUSK: If fuel cells were good, don't think you'd see them somewhere,
like maybe in a laptop or a cell phone or a $200 million military satellite
maybe? *And yet, where do you see them?
SPENCER MICHELS: You don't.
ELON MUSK: Exactly.
Is this the kind of thing you are after?
http://www.swc.scipy.org/

"Software Carpentry"

Overview

Many scientists and engineers spend much of their lives programming,
but only a handful have ever been taught how to do this well. As a
result, they spend their time wrestling with software, instead of
doing research, but have no idea how reliable or efficient their
programs are.

This course is an intensive introduction to basic software development
practices for scientists and engineers that can reduce the time they
spend programming by 20-25%. All of the material is open source: it
may be used freely by anyone for educational or commercial purposes,
and research groups in academia and industry are actively encouraged
to adapt it to their needs.
- Paddy.
Jul 22 '08 #2
Paddy wrote:
This course is an intensive introduction to basic software development
practices for scientists and engineers that can reduce the time they
spend programming by 20-25%.
Judging from the table of contents and a quick sampling of a few
lectures, that's mostly about programming (with a strong Python
flavour), and the material about the engineering process is pretty
simplistic, I'd say. On the other hand, the bibliography does have the
following to say about the book I recommended:

In short, it is everything I wished someone had told me before
I started my first full-time programming job.

so I guess it's not all that bad ;-)

</F>

Jul 22 '08 #3
In article <ma************ *************** *********@pytho n.org>,
<sk**@pobox.com wrote:
>
There are software construction skills which are entirely distinct from the
language in which you are programming. We can tout object-oriented,
structured programming, test-driven development or other software
engineering techniques, but there is a body of knowledge out there which is
orthogonal to the language in which the code is written. People who are not
professional programmers often lack those skills and their code shows it.

Are there any good online resources for this "software structure" axis?
While this doesn't really directly address your question, I think that
anyone who wants to do serious programming of any sort really should read
_The Mythical Man-Month_ by Fred Brooks -- make sure to get the 25th
anniversary edition.
--
Aahz (aa**@pythoncra ft.com) <* http://www.pythoncraft.com/

Adopt A Process -- stop killing all your children!
Jul 23 '08 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
2165
by: ACM SIGSOFT 2004 Publicity Chair | last post by:
CALL FOR PAPERS AND WORKSHOPS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ACM SIGSOFT 2004 12th International Symposium on the Foundations of Software Engineering ===============================================================================
2
2187
by: threeseas | last post by:
Because the project is done in python and in support of FOSS http://msdn.microsoft.com/architecture/overview/softwarefactories/default.aspx?pull=/library/en-us/dnmaj/html/aj3softfac.asp "According to the Standish Group , businesses in the United States spend around $250 billion on software development each year on approximately 175,000...
1
2555
by: Volkan Arslan | last post by:
------------------------------------------------------------- LASER Summer School on Software Engineering Practical Techniques of Software Quality Elba, Italy September 12 - 18, 2004 http://se.inf.ethz.ch/laser -------------------------------------------------------------
102
6612
by: Steve Johnson | last post by:
I'd like to hear thoughts on what books, in your opinion, are true classics in the field of software engineering. I read a lot on the topic - at least a book a month for many years. There are many good authors, however, the only book on making software that is truly timeless, in my opinion, is "Mythical Man Month" by Brooks. It never ceases...
0
1942
by: Volkan Arslan | last post by:
------------------------------------------------------------- LASER Summer School on Software Engineering Software engineering for concurrent and real-time systems Elba, Italy September 11 - 17, 2005 http://se.inf.ethz.ch/laser -------------------------------------------------------------
0
1242
by: Fredrik Lundh | last post by:
skip@pobox.com wrote: just get McDonnell's "Code Complete": http://www.cc2e.com/ </F>
0
7847
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7778
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
8125
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
8290
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
1
7874
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
0
8148
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the...
0
6522
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
1
5664
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
3798
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.