The campus will remain closed until 12 noon Thursday, 02/13/25. Students should log into Canvas for specific class information from their instructors. Please contact event organizers for information on specific activities. Normal operations will resume at 12pm on Thursday.

Computer Science – Concentration in Scientific Software Development

Bachelor of Science

Home » All Programs » Computer Science – Concentration in Scientific Software Development

» Program Overview

Placing the computer at the service of the sciences.

Scientific Software Developers design programs that are instrumental to scientific research and communication, whether capturing, organizing, and displaying data, engaging in complex analysis, or enabling the powerful observational mechanisms that bring the universe closer and make it more comprehensible.

Why LTU?

  • Experience hands-on learning to develop innovative solutions to real-world problems using advanced technology and software
  • Focus on technical communication skills prepares students for rigors of programming jobs.
  • Participate in course-based research experiences, gaining practical skills and knowledge that prepare you for success in today’s technology-driven world.

» Curriculum

Fall Semester

Course Name

Course #

Credits

College Composition
College Composition develops students’ acquisition of the fundamental principles of academic writing. This course focuses on the development of writing thesis statements and main arguments, topic sentences, transitional words and phrases, supporting paragraphs, use of evidence, essay organization, and research skills. Extensive writing and research practice is required.

COM1103

3

Foundations of CS
An overview of computer science for CS and non-CS majors with the overarching objective to develop a computational mindset. For CS majors, to gain an appreciation of the relevance of the various computing topics and interrelationships for future courses. For non-CS majors, to provide the necessary technological background to appreciate and integrate into today’s technical society.

MCS1243

3

Calculus 1
Topics include, limits and continuity, differentiation of algebraic and transcendental functions, mean value theorem, applications of differentiation, anti-derivatives, indefinite integrals, inverse trigonometric functions, substitutions, definite integrals, the Fundamental Theorem of Calculus, applications of integration. Applications will be emphasized. In addition to regular class meetings, all students are required to participate in calculus lab sessions. The schedule, frequency, and modality of these labs may vary by section. Refer to the class schedule and course syllabus for details.

MCS1414

4

Engaging Ancient Texts
A historical survey that develops students’ abilities to critically engage texts of the ancient global world, placing an emphasis on the way these texts reflect their context and human experience. Readings may draw from philosophy, history, literature, visual art, and more. Class activities include reading of primary sources, seminar discussion, and writing in various genres. May be taken concurrently with COM 1103.

HUM1213

3

Total Credits:

13

Spring Semester

Course Name

Course #

Credits

Engaging Modern Texts

A historical survey that develops students’ abilities to engage texts of the modern global world, placing an emphasis on the way these texts reflect their context and human experience. Readings may draw from philosophy, history, literature, visual art, photography, film, digital media, and more. Class activities include reading of primary sources, seminar discussion, and writing in various genres. May be taken concurrently with COM 1103.

HUM1223

3

Calculus 2
Hyperbolic functions, L’Hospital’s rule, techniques of integration, application to arc length and surface area, polar coordinates, infinite series, Taylor Series. In addition to regular class meetings, all students are required to participate in calculus lab sessions. The schedule, frequency, and modality of these labs may vary by section. Refer to the class schedule and course syllabus for details.

MCS1424

4

Computer Science 1
Introduction to programming with C++. Binary, two’s complement, decimal, hex, and octal representations. Variable types. Simple, iterative, and conditional statements. Procedure and functions with parameters by value and reference with or without a returning value. Arrays and vectors, multidimensional arrays, bubble and selection sorts, linear and binary search. Pointer and dynamic memory allocation, character and C-strings, file input/output (sequential). Classes, friends, array of objects, and operators’ overloading. Inheritance, polymorphism, virtual function, and recursion.

MCS1514

4

LLT Elective

LLT2XX3

3

Coding Club
This one credit course will focus on programming languages such as Scratch, Python, Javascript, Ruby, R, PHP, C# or Matlab. Students will be expected to work in groups on coding projects that will focus on syntax and semantics with application to a specific language.

MCS1111

1

Total Credits:

15

Fall Semester

Course Name

Course #

Credits

SSC Elective

SSC2XX3

3

Calculus 3
Three-dimensional analytic geometry. Vectors, vector-valued functions, motions in space, functions of several variables, partial differentiation, multiple integration, integration of vector fields, Green’s Theorem and Divergence Theorem.

MCS2414

4

Computer Science 2
Records, advanced file input/output (random access), dynamic memory allocation. Static and dynamic implementation of stacks, linked lists (ordered and unordered), queue (regular and priority), circular queues. Selection and insertion sort, binary search. Lecture 3 hrs., Lab 1hr.

MCS2514

4

Discrete Mathematics

Number Theory, review of induction and recursion, advanced counting, equivalence, partial ordering, graphs, trees.

MCS2523

3

Coding Club
This one credit course will focus on programming languages such as Scratch, Python, Javascript, Ruby, R, PHP, C# or Matlab. Students will be expected to work in groups on coding projects that will focus on syntax and semantics with application to a specific language.

MCS1111

1

Total Credits:

15

Spring Semester

Course Name

Course #

Credits

Technical and Prof. Communication
Training in a systematic method for producing effective technical communication, written reports, letters, and memos as well as oral presentations. Lecture 3 hours. 3 hours credit

COM2103

3

Data Structures
Analysis of algorithms, Big Oh notation, asymptotic behavior. Advanced sorting (heapsort, quicksort), external sorting. Binary, multiway, and AVL trees. Lecture 4 hrs.

MCS2534

4

Intro. to Database Systems
Organization of database systems. Data definition, retrieval, manipulation. Relational databases, SQL. Practice using standard databases.

MCS2543

3

Functional Programming
An introduction to functional programming. Induction and recursion, symbolic computation, higher-order functions, polymorphism, data abstraction and modularity, invariants, demand-driven programming, exception handling, and computability. Lecture 3 hrs.

MCS3633

3

Intro to Data Science
The Data Science course delivers the fundamentals of data sets analysis arising in various disciplines, like banking, finance, health care, bioinformatics, security, education, and social services. The content of this course introduces theories and practices of data science concepts based on mathematical and statistical concepts. This course offers a multitude of topics relevant to the analysis of complex data sets accompanying programming and code algorithms in R that underpinning data science. This course is ideal for students and practitioners without a strong background in data science. The students will also learn analyses of foundational theoretical subjects, including the history of data science, matrix algebra, and random vectors, and multivariate analysis; a comprehensive examination of time series forecasting, including the different components of time series and transformations to achieve stationarity; introductions to the R programming languages, including basic data types and sample manipulations; an exploration of algorithms, including how to write one and how to perform an asymptotic analysis; and, a comprehensive discussion of several techniques for analyzing and predicting complex data sets. Towards the end of the class, students will develop a case study by gathering data to apply and practice the learned concepts in a large-scale project.

MCS2403

3

MCS Seminar
Each Spring, the faculty in Mathematics and Computer Science will provide students with an overview of the research they are working on. This will provide students with the opportunity gain critical exposure to research ideas early on in their academic careers. Each week a different faculty member will host the meeting to allow students to ask questions and to learn what is current in the field of math and computer science. Meetings will be hosted virtually, via Zoom.

MCS2111

1

Total Credits:

17

Fall Semester

Course Name

Course #

Credits

Software Engineering 1
This course is a brief overview of software engineering topics including software development models, requirements, software design & implementation, software debugging & testing, software maintenance, software quality & metrics, and software project management. Focused in depth learning goals include system modelling & analysis tools, model-based design, coding standards, IDE tools, version control systems, and the introduction of agile software development methodologies. In addition to theories, students will practice in the development of a long-running software project applying & utilizing software engineering techniques & tools covered in class.

MCS3643

3

Computer Architecture and Assembly
Basic Structure of computer hardware and assembly programming. Internal representation, processing unit arithmetic, memory addressing modes, stack processing, CISC, RISC. Lecture 3 hrs.

MCS3663

3

Math Elective*

MCSXXX3

3

University Physics 1
Calculus based kinematics and dynamics of particles, conservation of energy, momentum, rotational dynamics and statics, fluids, temperature and heat, and laws of thermodynamics. 3 Credit hours. Lecture 3 hrs., Studio 1 hr. The following course can be taken concurrently with this course: MCS1424.

PHY2413

3

University Physics 1 Lab
Introductory laboratory experiments to complement University Physics 1. 1 Credit Hours. Lab 2 hrs.

PHY2421

1

Linear Algebra
Systems of linear equations, matrices, determinants, eigenvalues, eigenvectors, Finite-dimensional vector spaces, linear transformations and their matrices, Gram-Schmidt orthogonalization, inner product spaces. Lecture 3 hrs.

MCS3863

3

Total Credits:

16

Spring Semester

Course Name

Course #

Credits

Operating Systems
This course focuses on the core concepts that underlie contemporary operating systems. It introduces the structure and responsibilities of operating systems, discusses the cutting-edge advances in computing that are redefining operating systems, and addresses design considerations, such as performance, fault tolerance, security, modularity, and cost. Topics include Operating System Architecture, Process Concepts and Management, Thread Concepts, Asynchronous Concurrent Execution, Concurrent Programming, Deadlock and Indefinite Postponement, Processor Scheduling Algorithms, Real Memory Organization and Management, Virtual Memory Organization and Management, Disk Performance Optimization, RAID, File Systems, and Case Studies.

MCS4663

3

Topics in MCS
Course description not found.

MCS4993

3

University Physics 2
Calculus based simple harmonic motion, waves and sound, geometric optics, interference and diffraction, electric charge and interaction, electric current, DC Circuits, magnetism, electromagnetic induction, and RC circuits. 3 Credit Hours. Lecture 3 hrs., Studio 1 hr. The following course can be taken concurrently with this course: MCS 2414.

PHY2423

3

University Physics 2 Lab
Introductory laboratory experiments complementing University Physics 2. 1 Credit Hours. Lab 2 hrs.

PHY2431

1

General Elective

XXX3

3

General Elective

XXX3

3

Total Credits:

16

*Select from MCS2423 Differential Equations or MCS3403 Probability & Statistics

Fall Semester

Course Name

Course #

Credits

Computer Networks
Transmission media, local asynchronous communication (RS232) long distance communication, LAN Technologies, network topologies, hardware addressing, LAN wiring, physical topologies, interface hardware, extending LANs, fiber modems repeaters, bridges, and switches, WAN topologies and routing. Lecture 3 hrs.

MCS4613

3

Senior Project
The senior project is an intensive study of problems in either Computer Science or Applied Mathematics. Problems in CS can include software system development where students participate in specifying, designing, developing, coding, and testing complex software systems. Problems in AM can include the development and implementation of mathematical and computational models to address problems of interest.

MCS4833

3

Jr./Sr. Elective
SSC/PSY

3/4XX3

3

Jr./Sr. General Elective

3/4XX3

3

MCS Elective

MCSXXX3

3

Pathways Capstone Lab
Pathways 4001 is the capstone course for CoAS majors’ Pathways Program. The course meets for 4 half-day Saturday sessions fall term. The course’s work requirements are satisfied throughout students’ final year under the supervision of the Pathways Program Director. Requirements include: a) mentoring first-year CoAS majors in the Pathways 1001 course, b) participation in an extra- or co- curricular activity related to major research field, c) incorporation of leadership / ethics issues in senior thesis / capstone project.

COM4001

1

Total Credits:

16

Spring Semester

Course Name

Course #

Credits

LLT Jr./Sr. Elective

3/4XX3

3

Comparative Prog. Languages
This course will cover survey of the four various programming languages in the imperative, multiprogramming, functional and logical domains. An understanding of the fundamental design and language concepts provides the foundation for the critical examination and implementation of programming language paradigms from lexical and syntactical perspective.

MCS4643

3

Theory of Computation
Beginning course on theory of computation. Regular languages, finite automata, context-free language, Turing Machine, Chomsky hierarchy, applications to parsing. Lecture 3 hrs.

MCS4653

3

Senior Project 2
Continuation of Senior Project for projects that cannot be completed in one semester.

MCS4843

3

Jr./Sr. General Elective

3/4XX3

3

Total Credits:

15

» Document Viewer

Use Your Cell Phone as a Document Camera in Zoom

  • What you will need to have and do
  • Download the mobile Zoom app (either App Store or Google Play)
  • Have your phone plugged in
  • Set up video stand phone holder

From Computer

Log in and start your Zoom session with participants

From Phone

  • Start the Zoom session on your phone app (suggest setting your phone to “Do not disturb” since your phone screen will be seen in Zoom)
  • Type in the Meeting ID and Join
  • Do not use phone audio option to avoid feedback
  • Select “share content” and “screen” to share your cell phone’s screen in your Zoom session
  • Select “start broadcast” from Zoom app. The home screen of your cell phone is now being shared with your participants.

To use your cell phone as a makeshift document camera

  • Open (swipe to switch apps) and select the camera app on your phone
  • Start in photo mode and aim the camera at whatever materials you would like to share
  • This is where you will have to position what you want to share to get the best view – but you will see ‘how you are doing’ in the main Zoom session.