Records Management in Government Agencies in Sierra Leone

IntroductionRecords Management is the systematic control of all records from their creation or receipt, through their processing, distribution, organization, storage and retrieval to their ultimate disposition. Because information is such an important resource to organization, the records management function also includes information management. Therefore, records management is also known as Records and Information Management or RIM (Magnus, 2006).Records management may also be used to define as the way official records (correspondence files, information) are organized in such a way that they have a meaning, and can be used continuously by the users such as managers, records professionals, educational institutions,Importance of Records Management in Government AgenciesEstablishing a records management programme, in government agencies for example, the Meteorological Department may result in both immediate and long-term importance to the department. Below are stated some of the importance of records management in the government agencies, civil service, companies and businesses as a whole:• Records management reduces lost or misplaced records. Because the human element is always with us, even the best system in the world will occasionally have misplaced records. But properly designed document management systems can gradually reduce misfiles. Most often misfiled records can cost the clerical staff a huge wastage of time in searching for records;• Records management act as evidence in the time of dispute. It is important for the settlement of dispute because it can be shown as proof in court;• It helps in evaluating progress of organization. It helps in the preservation of history of the organization. The past records shows direction to organization. It helps in finding out the weaknesses and strength of organization. Records management gives the account of progress and direction in which organization is giving on;• Records management is the memory of business. It is useful for future decision making process. The study of past records shows direction for future. It supplies information to organization whenever it is needed therefore, it helps in taking decision;• Records management helps to evaluate business progress and performance. It helps in comparison between one period of time and another or between sometime of businesses;• Records management helps in management and control of important records. It helps to protect necessary records with care and disposes useless records;
• To minimize litigation risks. Organization implement records management programmes in order to reduce the risks associated with litigation and potential penalties. This can be equally true in government agencies. A consistency applied records management programme can reduce the liabilities associated with document disposal by providing for their systematic, routine disposal in a normal course of business;• It increases accountability. A records management will put in place a system for tracking actions on each record, therefore increasing accountability and providing access reports; and• To improve working environment. Implementing records management programme improves the working environment through the organization of records and storage offsite. Organized working environment can then improve the perception of the business by clients and potential employees. New employees are also easily trained to manage the company’s records when an efficient records management programme is in place (Jackson, 2008).The Historical Background of the Meteorological Department Sierra LeoneSierra Leone was the headquarter (HQ) of the West African Meteorological services which was established in 1923.Meterological services were provided for four West African countries namely Sierra Leone, Ghana, Nigeria and The Gambia respectively. The Sierra Leone Meteorological department is an offshoot of the British West African Meteorological services founded on the 27th April 1961. Since the establishment, the department has been governed by series of directors and the presently director is Alpha Bockari who has served in this capacity from 2012-to date. The headquarter is located at F18 Charlotte street Freetown.The Meteorological Department exist to provide cost effective weather and climate services by collecting, processing, archiving and disseminating meteorological and climatological information and services to support end user contributing to the management of Sierra Leone’s economy with special regard to protection of lives and property and safeguarding of the environment and recovering the costs of the services so rendered so that it expenditure will not exceed it income.As a department under the ministry of Transport and Aviation, they are charged with the following mandates /responsibilities:• Safety and well being of citizen and their protection against severe weather situation and devastation from natural disasters;• Provision of reliable climate data to facilitates project design for agricultural planning and implement, water supply systems, infrastructure, and tourism;• Contributing to the socio- economic (including providing end user services for agricultural activities, marine) development of the country;• Carryout weather and climate related activities e.g. Clean Development Mechanism (CDM), Climate Change Services (CCS), Reduction of Emission from Deforestation and Degradation (REDD), and National Communication (NCS) (Meteorological Department, 2014).Objectives of the Meteorological Department Sierra LeoneThe overarching objective of the Meteorological Department established as the sole authority, which issues weather and climatological warnings and services are, to:• Forecast, plan and deliver meteorological and climatological services which meet national socio- economic development needs.• Collect, process, store and disseminate meteorological and climatological information both nationally and internationally in accordance with rules and practices and procedures established under the WMO Convention of the International Civil Aviation Organization (ICAO), International Maritime Organization (IMO), etc and other relevant conventions of the United Nations systems such as the Frame work Convention on Climate Change (UNFCC), and Convention to Combat Desertification, Drought etc.• Provide a range of customer/ sector specific operational meteorological services to such major sub sector as those for aviation, water resources, agriculture, defense, marine, tourism, sports and recreation, and construction;• Provides advice on meteorological and climatological matters to the national community and other governmental and non- governmental agencies.• Develop adequate manpower to enhance functional effectiveness and efficiency of agencies.• Reduce its reliance on the national budget and generate its own revenue by charging for services rendered to other clients;• Arrange for and manage surface and upper air observation networks and accurately and effectively record the weather and climate condition for Sierra Leone’s economic development;• Provides meteorological services for search and rescue operations during disaster and relief operations as well as during national emergencies; and• Participate on behalf of Sierra Leone in the activities of relevance international organizations to which its belongs, in particular the World Meteorological Organization (WMO), International Civil Aviation Organization (ICAO), World Weather Watch (WWW), Global Climate Observing System (GCOS), Global Atmospheric Watch (GAW), Inter- Governmental Panel on Climate Change (IPCC), African Centre of Meteorological Applications for Developments (ACMAD), United Nation Environment Programme (UNEP) etc role in all climate change activities of the country (Meteorological Department, 2014).Methods of Managing Records at the Meteorological DepartmentRecords keeping are of great importance to any institution. One of the most crucial decision managers, directors or heads of organization have to make is to choose the suitable methods of managing their organization’s records. There of two methods that is significantly used. These include centralized and decentralized methods of managing records.Centralized MethodsA Centralized method of managing records is the one in which all physical documents are located in one central location or office. The location is controlled by the records management office staff. The number of employees in the records department will depend on the size of the organization. In a centralized method, end users have the comfort of knowing all physical documents relating to a particular case are held in the same location. If for instance, end user needs to reference a file he/she would be required to contact the records office staff. The file would then be checked out to the end user. A complete claim of custody of file is captured, so the location of file is known at all times.A centralized method has a heightened level of security. For example, the entrance is locked so only the records staff has access to the files in the records office. This process yields much more control over physical document than the decentralized methods. For efficiency of purpose, uniform office procedures are documented and circulated to all end user. These procedures address topics such as hours or operation, file request and delivery times.Decentralized MethodA Decentralized method is one in which the physical documents are located across the entire office. This may mean they can be found in every staff offices or other work room space. Unlike centralized methods, where the files are controlled exclusively by the records office. A decentralized method is controlled by the staff that created the file. The physical files are stored at the employee’s desk not in a centralized location for all to access. Thus, the method would not require a full time record staff.Employees would have access to their files at all times and would be responsible for maintaining accuracy. The decentralized method of managing records has its demerits. For instance, suppose group of employees are working on the same case at the same time suddenly, the employee who is responsible for maintaining the file is absent. The rest of the group may have trouble in locating the file if the organization does not have claim of custody procedure in place. Along the same lines, a decentralized method of managing records will have little or no security over files. This can prove problematic especially if an organization handles high sensitive cases.However, in the meteorological department, a centralized method of managing the department’s records is adopted. That is to say, both physical and electronic or other records are centrally managed by the department’s office clerk. Although, there are challenges with regards to the keeping and managing of records, nevertheless the method is well utilized. (Meteorological Department, 2014).Types of Records generated by Meteorological DepartmentThe records generated by the meteorological department office plays a vital role in managing the operations of the department. The department documents past activities, phenomenon and events that serves the basis for further actions. The records are both manual and electronic in nature. Examples of manual records include:• Office administrative records;
• Human resource records;
• Financial/ fiscal records;
• Meteorological data/ records;
• Material records;
• Public information records;
• Conference/seminar service records; and
• General programs.Electronic Records: These electronic or machine readable records are data in a form that can be read and processed by a computer and that satisfies the legal definition of a record. At the Meteorological Department in Sierra Leone these are records relating to divisions and out stations in the department and these include:
• Electronic mail and messages;
• Electronic spreadsheet;
• Primary data files and data bases;
• Machines readable indexes; and
• Word processing files.Users of the Records at the Meteorological Department in Sierra LeoneThe users of the Meteorological Department records in Sierra Leone include:
• Administrative personnel;
• Research/ external users;
• Human Resource Management Office (HRMO);
• Government ministries and agencies;
• International organizations e.g. United Nations Development Programme (UNDP), World Meteorological Organization (WMO); and
• Clients to which Meteorological Department information is given. For example, the media in Sierra Leone such as: Sierra Leone Broadcasting Corporation (SLBC), African Young Voices (AYV), and Star Television).Filing System at the Meteorological Department in Sierra LeoneFiling System in Records Management is the process of classifying, arranging, sorting and storing records so they may be easily located and retrieved when needed. It is the classification and control of basic file groups, material collection procedures, file preparation, sorting, indexing, maintenance and cross referencing. A well defined and maintained filing system allows vital information to be accessed quickly and saves company money by saving time. Business, schools, government agencies and even every day, people use filing systems to keep their affairs organized. Thus, the following various types of filing systems may enable agency to carry out proper filing system efficiently.Alphabetical Filing SystemIn the alphabetical filing system, records are arranged according to name that is from A-Z either the name of a person, company or subject in accordance with the letters of the alphabet. There are two methods involve in alphabetical filing system.The topical alphabetic filing system, also known as a dictionary system. In this system files, individual record are in alphabetical order. This filing system works well when storing a small number of records. It proves to be problematic when individual has a lot of client sharing the same name.The other method is the geographical filing system; also know as encyclopedia or classification system. This system is used to organize larger volume of records. It groups subject together under broad categories based on a location such as a city, country or state. The categories and the files within each category are arranged alphabetically.Numerical Filing SystemIn the numeric filing system, numbers are assigned to each file and arranged the numbers in segmented order. Files of people with the same name won’t have duplicate headings as with the alphabetical system. This system also offers better filing confidentiality since names are displayed in the files and work well when handing a large volume of files.Terminal Filing SystemIn the terminal digit filing system also, numbers of assigned files are in sequential order but filed according to the last two digits. For example. If an individual is filing number 18547; first the individual go to 47 section of the filing system then look for the 85 area of the section and finally look for the number one (1).Alphanumeric Filing SystemThe alphanumeric filing system, both letters and numbers are used to organized files. For example, two letters are used to signify the client files in, followed by a number to denote his account number.The meteorological department filing system, have adopted the alphanumeric filing system. In that record, they use the end-tab folder and pockets that simply stand on shelves and filing cabinets. No hanging pocks with a use of office space. The meteorological department has some challenges but the filing system is organized and use efficiently.Records Storage SystemsRecord should be kept in good order, in a secure location. Those containing confidential or personal data such as staff files must be stored in lockable units and should not be left on desks overnight or view of visitors. Only records which are required frequently should be stored in the office. Those which need to be retained for legal or other reasons should be stored offsite with the records office offsite, while those which have outlived their usefulness should be destroyed. However, records which are less than one year will not be stored offsite.Storage systems used in records office most provide appropriate protection for records based on format and volume of records, how frequently they are used, how quickly they need to be accessed and security requirement. The main types of records storage systems used include:Vertical Filing CabinetsThese are adequate for small filing systems, but are less suitable for large runs of records and records that require frequent access. Access is slow, since drawers have to be opened, and these can significant impact where there is a high volume of records activity. The cabinets require large amount of space and drawer space is often not use to full capacity.Book ShelvesThese are suitable for books or files that are stored upright, such as box files and lever arch files.Lateral Filing UnitsThese have long drawer for storing files laterally and use space more efficiently than their vertical counterparts. Alternatively, static unit without drawer can be use, where files are stored in hanging pocket or cradles. Where prompt filing and retrieval are required open unit will be the most efficient. If file access is to be restricted, units with lockable doors or shutters can be used.Mobile ShelvingThis may be suitable where a large volume of records need to be stored near at hand, as it reduces the number of access aisles require. It is the most expensive type of shelving, and is very heavy. The floor must have sufficient structural capacity to support these shelves.Open Shelving SystemThis usually found in large offices and in central file rooms, it allows for rapid retrieval and refilling. This type of lateral file, which resemble open book shelves allows files to be retrieved horizontally. It also offers full viewing of the folder tabs, which makes for rapid retrieval. And there is an estimated 50 percent saving space when files are moved from vertical system to an open shelve system. This unit usually requires professional installation, which can be negotiated with the vendor is an inclusion in the cost of the equipment. These are the most efficient kinds of files available. They also have doors and can be locked. Some of those with doors have flush backs and can be used as attractive room dividers with a built-in advantage of providing a good deal of sound- proofing. These doors and 6 openings are easily accessed over 200 inches of filing. Those without doors provide even more filing capacity and should be consider, even if there is a perceived need to lock them.Records Storage Systems at the Meteorological Department in Sierra LeoneThe main types of records storage systems used at the Meteorological Department in Sierra Leone is the open Shelve System which is mentioned above where files contacting records are usually found in large offices and in central file rooms which allows for the rapid retrieval and refilling. This type of lateral file, which resemble open book shelves allows files to be retrieved horizontally.Records Retrieval at the Meteorological Department in Sierra LeoneRetrieval is the process of locating and removing a record or file from storage. It is also the action of recovering information on a given subject from stored data. It deals with standards and procedures in retrieving paper, electronic and image records. For example, finding a name and telephone number in a telephone directory or data base is a common storage and retrieval activity. Records or information can be retrieve in three ways:Manually: people go to a storage container and remove by hand a record wanted or make a note of information requested from it.Mechanically: a person uses some mechanical means, such as pressing the correct buttons to rotate movable shelves to correct location of a record, remove the record manually, or record information requested from it.Electronically: a person uses some means, such as a computer, to locate a record. The physical record may not need to be removed from storage. The requester is informed as to where it can be found, or the information requested is showed to the requester in some way, perhaps on a screen in a data base or electronic mail file.Request for stored records may be made orally over the telephone or by a messenger or in writing memo, letter etc. The request may be delivered in person, sent by mechanical, such as a conveyor system, or sent electronically by email. The record must be retrieved from storage and given to the requester quickly. Every minute of delay in finding a record is costly in user or requester wasting time and in filers searching time and could possibly lead to loss of money for the business (Stephens, 2009).However, manual and mechanical procedures are normally utilized in retrieving records at the Meteorological Department since majority of their records are in paper based form.Challenges facing Records Management at the Meteorological Department in Sierra LeoneThe Sierra Leone situation in business of record keeping and management especially in the Meteorological Department system has not been too successful because of the lack of management component. Writing in support of the above finding, I have noted that many years of neglect had done great damage to meteorological sector and record keeping is not an exemption. The following are some of the challenges of proper records management faced by the Meteorological department in Sierra Leone:Inadequate FundingThe problem of inadequate funding of records office in the meteorological department is more intensive than the other departments. This is a problem that was not only experienced during the colonial era but has passed on even to today’s records management programs. Payment of employee’s salaries, purchase of modern preservation equipment and chemicals among the other day- today activities that facilitates records preservation are vital activities that call for proper adequate funding to enable the institution to achieve its objectives are not quite seen. For this reason, the meteorological records office practice is abandoned with unqualified personnel thus suffering from inefficiency and ineffectiveness.Inadequacy of Space and EquipmentThe records office at the Meteorological Department is rather too small to contain current and non- current records. The equipment used is somehow crude in nature and also of inadequate capacity. The record staff do not have access to modern equipment due to combine problem of inadequate funding and know- how technology.Problematic Nature of FormatMost record materials are still organic nature, most of them been paper based. This means they are capable of aging, advancing, deteriorating with time. For this reason, they need equipment to be treated and handled with for the purpose of preserving them. For such a country like Sierra Leone which lies within the tropics such conditions are worsen by high level of humidity in the atmosphere and high temperature all around the year. All these conditions combine work to hasten the nature chemical process of decaying records. Furthermore, records keeping facilities in the Meteorological Department do not have weather control preservative where all weather conditions can be controlled to enhance record preservation thus, making the whole preservation process even more difficult.Absence of Records Management LawsThe National Records act of 1964 is outdated and is no longer serving its usefulness. Records do not have legal description, backing or definition of their service. Legal laws provide for authenticity, which serves to promote and also provides confidence to the public and those practicing in the profession about the service being offered. These are the very important elements that the Meteorological Department’s record keeping facility lacks.Lack of Understanding and AppreciationThe records management program in the Meteorological Department is rarely appreciated and its role in the provision and management of information understood by only a handful of staff. This is also true as it is the culture in many other public and private sectors that generate vital records on a daily basis have no basic understanding of records life cycle and requirement of the records disposal act. They are extremely ignorant of the vital role that can be played by the records office to help them properly managed and preserve record both at the current and semi- current stages. Staff is totally uninformed about the records activities and for this reason it is recommended that the records office should engage in programs that will help to educate staff and other users in the requirement and content of the activities.Conclusively,Record keeping in an organization set up is very important and cannot be over emphasized. This is because continuity depends on availability of useful records of the past activities. In a complex organization like that of the Meteorological Department, it is not possible to keep every single information in the brain, because the volume of information is heavy, therefore records must be kept. In Sierra Leone, meteorological laws demand that every meteorological station should keep certain meteorological records such as weather fore cast data, personnel records, visitor’s book, inventory book, account book. Record keeping occupies a strategic position in the efficient and effective management of meteorological system. In fact, it is central in the administration of institution of learning because it document the planning and implementation of appropriate course of service allowing monitoring of work.Unfortunately, the Sierra Leone situation in business of record keeping and management especially in the Meteorological Department system has not been too successful because of the lack of management component. Giving credence to this assertion, records management practice in the Meteorological Department has a number of problems as indicated above. By paying close attention to all these problems and addressing them one at a time we help solve the problems and enhance good management of records in the Meteorological Department in Sierra Leone.

SPDN: An Inexpensive Way To Profit When The S&P 500 Falls

Summary
SPDN is not the largest or oldest way to short the S&P 500, but it’s a solid choice.
This ETF uses a variety of financial instruments to target a return opposite that of the S&P 500 Index.
SPDN’s 0.49% Expense Ratio is nearly half that of the larger, longer-tenured -1x Inverse S&P 500 ETF.
Details aside, the potential continuation of the equity bear market makes single-inverse ETFs an investment segment investor should be familiar with.
We rate SPDN a Strong Buy because we believe the risks of a continued bear market greatly outweigh the possibility of a quick return to a bull market.
Put a gear stick into R position, (Reverse).
Birdlkportfolio

By Rob Isbitts

Summary
The S&P 500 is in a bear market, and we don’t see a quick-fix. Many investors assume the only way to navigate a potentially long-term bear market is to hide in cash, day-trade or “just hang in there” while the bear takes their retirement nest egg.

The Direxion Daily S&P 500® Bear 1X ETF (NYSEARCA:SPDN) is one of a class of single-inverse ETFs that allow investors to profit from down moves in the stock market.

SPDN is an unleveraged, liquid, low-cost way to either try to hedge an equity portfolio, profit from a decline in the S&P 500, or both. We rate it a Strong Buy, given our concern about the intermediate-term outlook for the global equity market.

Strategy
SPDN keeps it simple. If the S&P 500 goes up by X%, it should go down by X%. The opposite is also expected.

Proprietary ETF Grades
Offense/Defense: Defense

Segment: Inverse Equity

Sub-Segment: Inverse S&P 500

Correlation (vs. S&P 500): Very High (inverse)

Expected Volatility (vs. S&P 500): Similar (but opposite)

Holding Analysis
SPDN does not rely on shorting individual stocks in the S&P 500. Instead, the managers typically use a combination of futures, swaps and other derivative instruments to create a portfolio that consistently aims to deliver the opposite of what the S&P 500 does.

Strengths
SPDN is a fairly “no-frills” way to do what many investors probably wished they could do during the first 9 months of 2022 and in past bear markets: find something that goes up when the “market” goes down. After all, bonds are not the answer they used to be, commodities like gold have, shall we say, lost their luster. And moving to cash creates the issue of making two correct timing decisions, when to get in and when to get out. SPDN and its single-inverse ETF brethren offer a liquid tool to use in a variety of ways, depending on what a particular investor wants to achieve.

Weaknesses
The weakness of any inverse ETF is that it does the opposite of what the market does, when the market goes up. So, even in bear markets when the broader market trend is down, sharp bear market rallies (or any rallies for that matter) in the S&P 500 will cause SPDN to drop as much as the market goes up.

Opportunities
While inverse ETFs have a reputation in some circles as nothing more than day-trading vehicles, our own experience with them is, pardon the pun, exactly the opposite! We encourage investors to try to better-understand single inverse ETFs like SPDN. While traders tend to gravitate to leveraged inverse ETFs (which actually are day-trading tools), we believe that in an extended bear market, SPDN and its ilk could be a game-saver for many portfolios.

Threats
SPDN and most other single inverse ETFs are vulnerable to a sustained rise in the price of the index it aims to deliver the inverse of. But that threat of loss in a rising market means that when an investor considers SPDN, they should also have a game plan for how and when they will deploy this unique portfolio weapon.

Proprietary Technical Ratings
Short-Term Rating (next 3 months): Strong Buy

Long-Term Rating (next 12 months): Buy

Conclusions
ETF Quality Opinion
SPDN does what it aims to do, and has done so for over 6 years now. For a while, it was largely-ignored, given the existence of a similar ETF that has been around much longer. But the more tenured SPDN has become, the more attractive it looks as an alternative.

ETF Investment Opinion

SPDN is rated Strong Buy because the S&P 500 continues to look as vulnerable to further decline. And, while the market bottomed in mid-June, rallied, then waffled since that time, our proprietary macro market indicators all point to much greater risk of a major decline from this level than a fast return to bull market glory. Thus, SPDN is at best a way to exploit and attack the bear, and at worst a hedge on an otherwise equity-laden portfolio.

How to Learn Your First Programming Language

IntroductionProgramming is a very useful and rewarding hobby. There are few better feelings than when someone sees you using a program you lashed together to make your life easier and says that it looks really useful. Most people have, at some point in their lives, really wanted to be able to do something on their computer or phone and been unable to. If you know a programming language, then there is often a fair chance that you can write a program to accomplish that task yourself. While there are a huge number of programming languages, many of them have a lot of similarities; this means that once you learn one language quite well, in most cases you will be able to pick up a new one far quicker.LimitsOne thing that all new programmers must come to term with is the amount of time learning a programming language takes. Although when you have become an expert you will be able to write many programs quickly, you must remember that many programs have taken whole teams of expert developers years to create. So it is important to understand that knowing a programming language or even several is not enough to write some of the more complex programs you have seen. Don’t look upon this new hobby as a way to save yourself a lot of money, as writing your own version of most of the programs that you need to pay for now will be out of your reach.The most important thing that a new programmer needs to know is that the “Learn Programming in 24 hours” sort of books are simply not true. A more accurate title would be “Learn Programming in 10,000 hours”. If you put 24 hours or a week into learning a language you will not be creating the next Windows or a new, state of the art game. It is possible to learn to write a program in 10 minutes, and really all you need to learn a new language is your favourite search engine, but you will not be an expert. The only way to become an expert is much like learning the violin; the answer is practice, practice and practice some more.Selecting Your First LanguageNow that we have examined the limitations and handled some of the more unrealistic expectations, those of you still wanting to learn to code will be happy to know that programming is not a hard thing to start learning and will not require you to pay out huge sums of money. If you are reading this article on-line, you already have the resources to start with some languages, so let us consider what your first language ought to be.Traditionally the first language a programming newcomer learns is either Visual Basic or Python. The first thing to understand is that these two languages are very different. The simplest difference is one of price. Python is totally free; you can start writing python now with just a text editor on your computer, though if you are on Windows, you will probably need to install it first. However Visual Basic, often abbreviated to VB, is both free and not free. On the upside, VB can be simpler for newcomers to learn because it allows you to build the interfaces (the part of the program the user will see) by dragging and dropping the different parts much like designing it in some basic art application. The version of VB newcomers learn is usually Visual Basic 6, but this is rather outdated and has been discontinued. So these days the version learned is often VB.NET which can be considerably less simple for newcomers.VB.NET must be developed inside what we call an IDE (Integrated Development Environment); this is basically a special program you use to write other programs. They also exist for Python, but their use is totally optional. The free VB.NET IDE is called Visual Studio Express. At the time of writing, the latest version is Visual Studio Express 2010. Unfortunately, by using the free version of the IDE you are restricted with what you can do, and any programs you create cannot be commercially sold on. Regretfully, the full paid version of the IDE is not cheap, and probably not appropriate for a hobbyist, but fortunately to learn VB the free version is enough. In practice, very few commercial programs are developed in VB these days, but the Visual Studio IDE allows you to use many other languages. The familiarity you will develop by using it will also allow you to use the power of the IDE for development in many other languages. Some will argue that almost every language can be developed in a text editor and that they are by far the most flexible way in which to code. While this is technically true (and I do suggest trying development in a text editor to compare once you get a little better), I would strongly advise learning your first language with a proper IDE.While traditionally, people learn Python or VB first and these are generally what is taught at schools, I would not suggest either of these. I am of the opinion that your first language should continue to be useful to you one it has served the purpose of helping you learn the fundamentals of programming. If I had to recommend one of these for newcomers, it would be VB.NET as often the most complex part of programming is the graphical side of things and in VB.NET this is very simple due to the drag and drop interface. These two languages are often used as introductions as they are very tolerant of mistakes, and allow you to become confident in programming principles without worrying about a lot of the more complex matters.For those brave souls among you, I would actually suggest Java as your first language, even though it can be complex, and is therefore not a common choice for a first language. Java programs are different to most others in that they do not run on your computer. The user downloads Java, then your code runs on what is called a VM (Virtual Machine). This means that your code runs in a special place Java sets up for it – a fake copy of your computer – and handles the translation of this to the real machine for you. This means that Java programs are “cross-platform”, meaning that they will for the most part run on Windows, Mac, Linux and most other operating systems.Java is a good language to learn, as it is very widespread and useful. Furthermore, it is very powerful, and is available for free for both hobbyists and commercial uses. However, in contrast to VB and Python, it does not tolerate mistakes and requires you to be very specific about everything. It is also an object-oriented programming language, which is a very complex issue which I will briefly try to summarise. Languages like Python and VB are what is known as procedural languages, meaning that the lines of code are run one after another, whereas Java is an object-oriented language. object-oriented development is a term thrown around a lot these days in the programming world, and while not always appropriate it is generally considered a good idea. At the most basic level, an object-oriented program is all about objects. An object is an “instantiation” of a “class”. A class is a blueprint used to describe something like a cat. The class contains both the data about the cat such as its name, age and owner as well as “methods” which are essentially actions the cat can perform, such as miaow. An instance of the class “cat” would give you a particular cat. However, this is not a Java tutorial, so if you are brave enough to experiment with Java you will come across this yourself in more detail. It is worth noting that VB.NET and Python both have support for object-oriented development, and Java has the potential to be used procedurally, but these are not the languages’ primary intended uses and are not often used. If you did not understand that comparison, don’t worry about it too much. Object orientation is hard to get your head around, but any basic Java or other object-oriented language tutorial will have you understanding everything in that paragraph.A final reason Java is a good first language is that it is similar in many ways to Javascript, which is an entirely different class of language. Javascript is a scripting language (as is Python), and learning Java will mean you understand Javascript reasonably well. The difference is between scripting languages and normal programming languages is outside the scope of this article, but as a large generalisation scripts are generally used for automated tasks while programs are used interactively by users. This is not totally true, as both types of language are used for both tasks and most web programs are built in Javascript.As for the actual language you pick, it is entirely up to you. Some may choose the traditional beginner languages or be brave and experiment with Java. Some of you may already have your eye on a language or fancy one of the more specialist languages like Scheme or Prolog. Whatever your choice, the way you will learn how to program is the same.IDEs, Yes or No?Many of the purists say that IDEs are a bad idea, and are packed with unnecessary tools and menus that take up disk space and time to learn. While this is true, I feel that an IDE is definitely worthwhile. Many people offer free IDEs, such as Eclipse and Netbeans, for the more popular languages. There is also Visual Studio, which I mentioned previously; it is very intuitive, very powerful and it supports many languages (much as Netbeans and Eclipse do). If you chose to use Java I would suggest Netbeans, as there is a packaged version of Netbeans with the JDK (Java Development Kit). Most languages need an SDK (Software Development Kit) to work with them, and getting it installed properly and linked to the IDE is often the hardest part of the procedure. Visual Studio already comes with the development kits set up, which makes life easier, but other languages like Java and Python can be quite hard to set up properly. This is why I suggested the Netbeans + JDK bundle for those experimenting with Java, as it handles the complex set up for you, which will save you hours of suffering.There are, in my opinion, three major advantages to using a fully featured IDE. Firstly, they are usually extensible, meaning that there are many free plug-ins that could make your life a lot easier when you get a little more advanced. Secondly, and most importantly, is the ease with which an IDE allows you to debug your code. Most IDEs let you set breakpoints in the code, which will make the program stop when it gets to that point and let you step through it line by line, so you can examine the contents of all the variables at any time. (For those of you who do not know what a variable is, I will briefly explain. A variable is a bit like a train station locker. You ask for one big enough to hold what you want to store, and if what you want to store is the right shape, it can be stored there. When you write a program, any data you want to store temporarily will be held in one of these until you are done with it.) As the old programming saying goes, if you have not found any bugs, you are not looking hard enough. Almost no non-trivial program will work first time, and trying to work out where the problem lies without the use of a debugger is a pain I would not wish on anyone. Finally, an IDE will often give you advice on how to fix issues in the code. This can be very useful for fixing bugs, and saves you having to resort to Google every other minute.Learning the LanguageNow that you have a language and an IDE, it is finally time to learn the language. This, as you may or may not be surprised to learn, is not complex at all – it is simply time consuming. To learn programming for the first time, there is no better way than exploration. Buying a book that walks you through steps will not teach you anything, as you will not understand the reasoning behind what they are doing, and people often get disheartened by the tedium.The key to learning programming is to have a goal. Think of a task, such as a system to keep track of where you are in all the various TV shows you watch, or a system to let you look at all the books you own in a particular category, or, if you feel brave, try to replicate part of something that you use on a regular basis. My advice would be to start small, perhaps by making a sequence of message boxes that insults the user or a really simple calculator. It is important when you first start that your goals are interesting, challenging and entertaining. If you try to make really boring programs you will quickly get disheartened, so try to inject some comedy into your program. The calculator is a very good introductory program, but after you get the general idea it is important to set quite ambitious goals, as if you keep doing simple things you will never learn anything new. It is important to try to incorporate some of the knowledge you have gained from previous work. One of the reasons most books fail to teach programming well is that they use small examples for each thing they introduce, whereas what you really need to do is plan the task without considering what you will need to accomplish it. This means you will be able to code some of it using what you already know, but most importantly, you will not know how to code some of it. The best way to learn is to learn by doing. Go for a full program that does a task you wanted to do on a computer in the past, work on it, and when you are finished you will have learned a lot and you will have a useful (or at least entertaining) program which is far better than some toy program demonstrating lists.I have said that you learn by choosing to do projects where you are unable to do certain sections, thus requiring you to learn, but how do you go about finding out how to do them? It’s simple, and most likely the way you found this article. Go to your favourite search engine (like Google) and search for what you want to do – for example, search “drop down list Java” to find some examples of using drop down lists in Java. Because you will need it for another task, and not just to re-do the same thing the examples did, you will have to play with the examples you find and try to get them to do what you want. Just search each bit you need, and before long you will find that most of the basics are as natural as waking up in the morning, and you did it all without spending a small fortune on books, without getting bored and hopefully while being entertained. To this day, if I am bored, I sometimes break out one of my very first programs which is just a list of boxes and a random number generator. It is your task to try to fill all the boxes such that the numbers the random number generator gives you are in ascending order – if you don’t leave space and can’t fit a number in a hole then you lose and must start again. It’s a simple program, but it took a lot of work when I first made it and I learned a lot from the experience.Once you have a few decent sized programs under your belt, you will find that you know the language well. You will also find that it is rare, no matter how well you know a language, to be able to write a program without resorting to Google at least once just to check something. So with that in mind, it could be argued that you learned the language without ever actually trying to learn it. Clearly there are standards and good practices that you may not pick up on your own, but as you see more examples and read the comments you will find you adopt your own standards rather rapidly.Learning Another LanguageOnce you have learned one language, whatever it may be, the most valuable thing you will have learned is all the key words for searches. When you want to do something in a new language, you need only search what you want to do and the language name. However, by now you will know the names used to refer to what you want to do, allowing your searches to be more effective and yield examples and answers much more quickly. As the fundamentals of programming are mostly the same, regardless of the language you use, you will hopefully be able to guess at the meaning of most of the code much more effectively once you locate an example, allowing you to pick up most of the language very quickly indeed.ConclusionIf you take nothing else away from this article, remember that the best way to learn a skill is practice, practice and practice some more, so don’t expect to become an expert overnight. Remember that programming is not something that can be learned overnight, and that to become a passable expert you probably need to spend at least 10,000 hours programming, so you will need to find ways to remain motivated. Don’t think of it as learning to program – rather, just start programming, and before you know it you will be an expert. Programming is a skill, and while it is quite simple once you have the feel of it, it can be quite daunting to see your little calculator that took you a week and then to consider a modern game like “Batman: Arkham City” and realise how far you have to go.Programming is easy when you know how, but is not a trivial thing to learn, so it is important that you set yourself tasks. These tasks should preferably be interesting and, better yet, entertaining, as these will be what keeps you programming and learning more and more until, one day, you wake up and realise that you know quite a lot. You are your own best tutor and the key is simply to jump in and get started.