AbstractSoftware engineering industry is improving, hence, the expectations from the employee is always increasing. In today’s software engineering notion not only expected from employee to be successful in technical background, but also the candidate needs to handle non-technical issues arises from complex project. Requirements gathering, working in a team, professionalism, handling pressure, and scaling themselves to deadlines are some of the non-technical issues that employee faces. Therefore, it is obvious that, teaching software engineering can not be covered only theoretically from the text book. Students need to experience a client-sponsored software engineering project to understand all fundamentals of a software development. This article provides detail information about the methods that were used and experiences gained from a real- world software engineering project in a class environment. Index TermsClient-Sponsored Project, Focus Group, Software Engineering, Software Management, Software Requirements I. INTRODUCTION T he first computer, which was built by Pennsylvania University, weighted 40 tons and it bestrewed over 1600 sq-ft place to engage for army purposes [1]. Appearance of the first computer engender to the born of first generation of software engineering industry. Since the assessment of first computers around 1940’s, the technology of microchips and computer devices has been improved incredibly rapid and old-fashioned computers replaced with today’s high-tech, fully equipped small intelligent affluences. Not only had the hardware pieces, but also software engineering companies have been renewed them to produce the efficient, user friendly programs to their costumers. Software development has ballooned into a multibillion dollar industry due to the demand of software in government and private sectors. Necessity of the software development and expectation of the quality will be always lofty while sectors move more into information age. Companies desire to hire skilful, neat, diligent and real-life project experienced candidates to join their team. However, although most of the software engineers take courses in software engineering and programming from their educational institution, generally the employees face with real-life software engineering tasks while they are having a job at software developer company. It populates muddle between the concepts of theoretical and practical approaches in software engineering at the educational institutions. Many of the universities are offering software engineering as a course in their Computer Science curriculum. Globally, the demand of software engineers is far exceeding the supply of software engineer graduates. Most often, this gap is filled by computer science graduates. Because software developer companies prefer experienced candidates, it is very significant to give opportunities to the students to practice software engineering concepts and principals through a real-life software development project. Different approaches have been applied for providing real- world experience. In one of them the software engineering and database classes combined together and built an assisting to a local lactation consultant who was dissatisfied with the software product [2]. Another one divides the students into two parts, one group is in the client-side of the development process, and the other group is responsible for the development [3]. In common, almost all strategies plead to using real-world projects in software engineering classes. At University of Arkansas at Little Rock (UALR), software engineering courses are offered to both undergraduate and graduate students by computer science department. Generally the graduate level software engineering course is held in two semesters of the year. This course is a 3 credit course and 3 hours of lecture per week are delivered. Starting from the requirements engineering to software testing techniques, all design and development steps taught by the instructor. Relevant homework assignments are carefully selected and given to students regarding the related topics, so that the fundamental principles are clearly understood and applied when appropriate throughout the project development phases. The real difference in SE teaching at UALR is the demanding project component. At UALR, the software Application of Software Engineering Fundamentals: A Hands on Experience Cihan Varol 1 , Coskun Bayrak 1 , and Robert Ludwig 2 1 University of Arkansas at Little Rock, Computer Science Department 2801 S. University Avenue, Little Rock, AR 72204 E-mail: cxvarol | cxbayrak @ualr.edu 2 Acxiom Corporation, Inc. 1 Information Way Little Rock, AR 72202 robert.ludwig@acxiom.com This paper is submitted to SERP'05 - The 2005 International Conference on Software Engineering Research and Practice, Las Vegas, Nevada, USA, June 27-30, 2005