hero image
B.J. Johnson - Loyola Marymount University. Los Angeles, CA, US

B.J. Johnson B.J. Johnson

Lecturer in Computer Science | Loyola Marymount University


Seaver College of Science and Engineering


Phone: 310.338.7351
Email: rjohns19@lmu.edu
Office: Doolan 101

Education (3)

Loyola Marymount University: BSCS, Computer Science 2002

Loyola Marymount University: MSCS, Computer Science 2005

Claremont Graduate University: PhD (candidate), Information Systems and Technology

Predicted graduation in 2016

Areas of Expertise (4)

Computer Science Software Engineering Programming System Architecture

Industry Expertise (9)

Computer Software Information Technology and Services Education/Learning Security Computer/Network Security Writing and Editing Corporate Training Defense Industrial Automation


Research Focus (1)

TWELVE: Training With Experiential Learning using Virtual Environments

(PhD Dissertation in progress)

Passive fact-based learning approaches are applied in most online training but suffer from tediousness, lack of experiential learning, and weak testing. A 3D Virtual World-based approach has the capability to overcome the first two problems because it uses a virtual environment in which the learner participates more actively in the learning. The goal of this research is to compare learning outcomes in a 3D Virtual World-based approach versus a passive fact-based approach in an experimental setting.

Courses (3)

Software Engineering Lab

Analysis, design, implementation, and presentation of a large-scale, individual project, demonstrating mastery of the computer science curriculum.

The idea of this course is for students to show they can successfully conceive of, design, implement, document, and present a medium-size software application.

A further goal is to expose students to the concepts of the software engineering discipline, by class lecture and by actually doing.

Another goal of this course is to expose the students to two different software development methodologies, the Agile Method and the Capability Maturity Model, Integration®. Since both of these disciplines are currently used in industry, it is important for the student to have the experience of both philosophies.

A final goal of this laboratory course is to learn more about software project management. This topic includes being able to estimate such things as the amount of time a project will require for the various phases of its development, and the related cost associated with this time requirement.

view more

Introduction to Computer Science

The goal of this course is to become familiar with some of the great ideas which have arisen from the science of computation, including (but not limited to):

* Algorithms and their analysis
* Data structures
* Programming languages and why they are used
* Algorithmic efficiency and complexity measures
* Number systems and representations
* Basic computer architectures and how they work
* The idea of abstraction and how it applies to problem solving
* Concepts behind cryptography and computer security
* Artificial and human intelligence

view more

Computer Programming

The goal of this course is to learn the basics of computer programming and software application construction. Students learn how to create working computer programs, how to think critically, and how to appreciate the difference between well-crafted programs and what is known (in the software industry) as "schlock". Students learn to view computer programming as an art form as well as a lucrative profession.

The topics covered include (but are not limited to):

* Famous computer scientists and early computing engines, and an introduction to computer programming
* JavaScript (and general) programming language fundamentals such as iteration and conditionals
* Number systems and their representations and some introductory data structures
* Statements and expressions, functions, and events and event-based programming
* Fundamentals of software engineering, generally and for web page construction/operation
* Algorithms and their analysis, including some well-known "demo" algorithm programming

view more