473,624 Members | 2,458 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 1631
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
2170
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 projects. Only 16 percent of these projects finish on schedule and within budget. Another 31 percent...
1
2560
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
6660
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 to amaze me that something written over 20 years ago would be so relevant. It seems like Brooks...
0
1944
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
1244
by: Fredrik Lundh | last post by:
skip@pobox.com wrote: just get McDonnell's "Code Complete": http://www.cc2e.com/ </F>
0
8240
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 usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8175
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 synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8680
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. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
8336
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 most users, this new feature is actually very convenient. If you want to control the update process,...
0
8482
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 choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7168
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 launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6111
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 instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
1
2610
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1487
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.