Course

Course Summary
This apprenticeship is federal/state registered
Credit Type:
Apprenticeship
ACE ID:
IBMA-0004
Occupation Title:
Application Developer
Type of Apprenticeship Program:
Competency-based
Estimated length of On the Job Training (OJT):
2000 hours
Estimated length of Related Training Instruction (RTI):
485 hours
Dates Offered:
Credit Recommendation & Competencies
Level Credits (SH) Subject
Lower-Division Baccalaureate 3 business communications
Lower-Division Baccalaureate 3 decision making
Lower-Division Baccalaureate 3 introduction to computers
Lower-Division Baccalaureate 3 computer applications
Lower-Division Baccalaureate 3 introduction to programming
Lower-Division Baccalaureate 3 cyber security essentials
Lower-Division Baccalaureate 3 scripting languages
Lower-Division Baccalaureate 3 introduction to Python programming
Lower-Division Baccalaureate 3 introduction to UNIX
Lower-Division Baccalaureate 3 introduction to databases
Lower-Division Baccalaureate 3 database management
Lower-Division Baccalaureate 3 web design
Lower-Division Baccalaureate 3 introduction to project management
Lower-Division Baccalaureate 3 internship in software development
Upper-Division Baccalaureate 3 content management systems
Upper-Division Baccalaureate 3 cloud applications
Upper-Division Baccalaureate 3 introduction to software engineering
Total of 42 semester hours in the lower-division and 9 semester hours in the upper-division.
Description

Occupation Description:

Application Developers lead IBM into the future by translating system requirements into the design and development of customized systems in an agile environment. They transform vital business needs into code and drive innovation. The work of Application Developers will power IBM and its clients globally, collaborating and integrating code into enterprise systems.

Program Description:

Application Developer apprentices work as part of a larger team of experienced developers and mentors in an interactive, collaborative environment. The Application Developer Apprenticeship includes micro- credentials like professional skills, agile development, design thinking, cloud computing, and cloud design. The program also includes a broad range of fundamental skills in computer programming fundamentals, social coding-Github, Software design and development, continuous integration and delivery, DevOps automation, web programming, enterprise architecture, and cloud computing fundamentals. The program is a great pathway for careers in software and application development as well as client support in our Cloud, Cognitive AI, and Consulting organizations.

Program Objective:

The objective of this apprenticeship is to prepare students for a career as an Application Developer at IBM.

Learning Outcomes:

  • Business Communications: The apprentice will be able to demonstrate presentation skills; prepare effective business messages for culturally diverse audiences; communicate by written, oral, and visual methods; compose clean and concise business letters, reports, memoranda, and emails
  • Introduction to Computers: The apprentice will be able to describe basic operations of computer hardware and software; perform basic Operating System operations; process information using word processing, databases, spreadsheets, email, and related tools; identify types of storage; describe the use of files and folders; use the Internet and online resources; apply security and privacy concepts in all computer activities
  • Scripting Languages: The apprentice will be able to discuss the basic techniques used to create scripts for automating administrative tasks; employ regular expressions in processing text; demonstrate the use of scripting languages to manage applications using networks; explain how to use scripting language to process other application's data; show the use of scripting developing applications using networks and databases
  • Computer Applications: The apprentice will be able to create, organize, and manage electronic files and folders; create, modify, and maintain word processing, spreadsheet, database, and presentation documents; use functions, formulas, and charts in documents, spreadsheets, and databases; utilize applications and terminology effectively;
  • Introduction to Programming: The apprentice will be able to create programs using fundamental concepts; identify programming's role in cyber operations; create flow charts and design and implement pseudo-code to solve problems; identify variable types and strings; analyze, create and compile programs; describe the use of classes and objects in programming; explain vectors and create functions in programming languages
  • Cyber Security Essentials: The apprentice will be able to identify security essentials that support system and network integrity; identify hacker techniques, exploits, and incident handling; create user log-in, platform, and equipment key tag, and assign keys to equipment; perform account management; create and maintain incident tracking information; plan, coordinate, and direct recovery activity
  • Introduction to Python Programming: The apprentice will be able to utilize the Python programming language format and structure in coding; understand and utilize Python programming concepts, including lists, dictionaries, classes, and loops; use Python libraries and tools; debug basic Python programs; employ Python as a means for developing information security tools
  • Introduction to UNIX: The apprentice will be able to describe the purpose and functions of a computer operating system; explain the function of UNIX-based commands; identify information about a computer's files using UNIX-based commands; identify network characteristics and status using the UNIX-based command line; perform computer management functions
  • Introduction to Databases: The apprentice will be able to input data into forms; download data sets for analysis; develop SQL reports; administer updates to the database management system (DBMS); integrate the database with external systems
  • Introduction to Project Management: The apprentice will be able to discuss project management using project terminology, prepare a project management plan; allocate time, personnel, and other resources to enable timely completion of a project; monitor and control project progress against the baseline; conduct risk management processes; manage stakeholder expectations; employ project management principles and processes; manage and control change, and close the project
  • Introduction to Software Engineering: The apprentice will be able to describe different software development processes; participate in the software development life cycle which includes software planning, requirements capture, design, build, documentation, testing, deployment, and maintenance; understand the importance of capturing software requirements; make engineering design tradeoffs; work in a team to develop software; design and interface software modules; adhere to good coding standards and practices; investigate software quality and software quality assurance; work with version control, configuration management, unit/regression testing, issue tracking, and debugging tools; explore issues of software maintenance, reuse, and extendibility; look up standard software libraries (IEEE, SWBOK, ACM, etc); understand professional, ethical and social responsibility of a software engineer; evaluate the impact of potential solutions to software engineering problems in a global society, using the knowledge of contemporary issues and emerging software engineering trends, models (example unified modeling language), tools, and techniques; convey technical material through oral presentation and written reports
  • Web Design: The apprentice will be able to understand the structure and organization of webpages and websites; design basic web pages using html, css, and a scripting language; describe some ethical and legal issues related to web page design; use a hosting environment to upload and edit web pages; build and edit HTML 5.1 HTML syntax and tags; use a scripting language to handle events and HTML elements; describe and use of web application development frameworks
  • Internship in Software Development: The apprentice will be able to analyze a complex computing problem and apply principles of programming and other relevant disciplines to identify solutions; evaluate the requirements for a specific programming problem and recommend solutions; based on the requirements, create the program to meet the objectives; function effectively as a member or leader of a team engaged in activities appropriate to the task; identify and analyze user needs then create, integrate solutions in the computing-based project; demonstrate the application of knowledge and skill sets acquired from the courses and workplace in the assigned job function; exhibit critical thinking and problem-solving skills by analyzing underlying issue/s and apply to project challenges; recommend ideas to improve work effectiveness and efficiency by analyzing requirements then considering viable options
  • Content Management Systems: The apprentice will be able to explain the web site development process from beginning to end; explain the use of databases and dynamic web programming languages in web sites; create effective web site designs considering users, layout, color, fonts, and navigation; perform web site design activities including site hierarchy diagrams, wire frames, and storyboards; explain web site implementation factors, including domain name acquisition, hosting, usability, testing, launch, and maintenance; incorporate various HTML tags within web pages, e.g. images, hyperlinks, tables, forms; utilize inline, embedded and external CSS; create interactive, multimedia web pages by inserting elements, e.g. sound, video, streaming multimedia, JavaScript/jQuery, Spry; incorporate plug-ins and social media into a web site; demonstrate various techniques to improve the efficiency of building and maintaining a web site such as templates, external CSS, snippets, library items and Content Management System (CMS) Themes and Modules; perform activities that ensure web pages are industry standards compliant, such as HTML and CSS W3C page validation, cross-browser testing, and accessibility testing
  • Cloud Applications: The apprentice will be able to explain the concepts, principles and standards of the Internet and the WWW; recognize the design strategies and usage scenarios of Web 2.0 applications; manipulate PHP/MySQL to design enterprise applications; apply the use of user interface libraries, templates and frameworks; operate the Model-View-Controller framework; examine state-of-the-art web application development tools, languages and cloud resources to develop web applications; distill current technology in web application development, including JavaScript frameworks
  • Database Management: The apprentice will be able to apply the fundamentals of database technology; implement database management and functions; identify database types and uses; analyze database applications; create and configure databases; perform database administration functions; and employ database security measures
  • Decision-Making: The apprentice will be able to use creative thinking to solve problems; develop strategies for risk analysis and risk mitigation; conduct situational analysis; use decision support systems; conduct backward planning; allocate resources to resolve problems; apply ethics to problem solving
Instruction & Assessment

Instructional Strategies:

  • Audio Visual Materials
  • Case Studies
  • Classroom Exercise
  • Coaching/Mentoring
  • Computer Based Training
  • Discussion
  • Laboratory
  • Lectures
  • Practical Exercises
  • Project-based Instruction
  • Work-based Learning
  • Performance Rubrics (Checklists)
  • on the job training

Methods of Assessment:

  • Examinations
  • Performance Rubrics (Checklists)
  • Quizzes
Supplemental Materials