This is a report on work-in-progress for an entry-level course, Engineering Computation Lab, in which engineering and other STEM students learn about computational problem-solving and programming. It provides a hybrid (on-line and in-person) environment for learning introductory programming and computational problem-solving. It runs at scale, serving 800-1000 engineering students per term. Pedagogically, it uses active and problem-based learning using contexts more oriented towards the needs of engineering students than typical generic "intro programming" courses. Autograded exercises and on-line access to information have been key to feasible operation at scale. Learning how to operate effectively and smoothly at scale across a variety of lead instructor preferences, with the particular needs for computation by engineering students has been the continuing challenge. We report on our experiences, lessons learned, and plans for the future as we revise the course. Course objectives Use of computation is indisputably part of every engineer's foundational training. However, there does not appear to be a consensus on the extent of such training, or its outcomes. Training for professional software developers (as evidenced by what it would take to be seriously considered for a professional software development position nowadays) would seem to include the equivalent of at least several terms of courses to achieve a working knowledge of software development: programming in two or more languages, data structures, performance analysis, software design, and basic principles of software engineering such as testing, documentation, and archival storage. However, the conventional undergraduate engineering degree is already full of other mandated science and discipline-specific course work. Until the day arrives where enough time is given to establish mastery of software development, course designers would seem to need to settle for the goal of introduction: initial experience with of the skills and knowledge needed to create and use software to solve problems typical of an engineer's work. This includes: • Concepts of simple computation: command-based access to technical functionality; scripting and introductory programming (variables, control statements, functions). • Application of computation to engineering: concepts of simple mathematical modeling and simulation, and their use to solve engineering design problems. • Software engineering: how to build software, get it working quickly, and having confidence that it works well. Also, how to better amortize the cost of building software by designing for reuse. Mastery of these concepts is clearly beyond a single course, or even a year long sequence of courses. Yet postponement to sophomore or junior year blocks access to even simple computation skills and concepts in the first years, which blocks more sophisticated use of software when it might be used by some for educational benefit.