The paradigm below is one example of how this major may be completed. Students may use their elective credits to explore other majors or to enroll in skill-building courses in mathematics, reading, writing and/or study skills. With planning, students may use these credits to complete a minor, enroll in a practicum or internship, or study abroad.
|*||Elective may be used Jr./Sr. year to complete a CS internship for 3 upper-level CS credits.|
|Note: Students with strong mathematics aptitude are advised to consider earning a Multidisciplinary Scientific Computing Minor. These students are required to complete Calculus I and Calculus II.|
It is the responsibility of the student to complete all major and university requirements. Please refer to the university catalog for additional information regarding this major. Course title and content is subject to change. Not all courses are offered each semester or year. Please consult with your major advisor for the most current information.
**Students enrolled in the Lasallian Honors Program should consult the program director for the appropriate sequence of courses.
(From the 11-13 Catalog)
A. All of the following:
This course introduces students to the practice of software development. Students learn the fundamentals of programming, algorithm development, and basic design principles.
Offered spring semester. Prerequisite: CS101; concurrent with CS111.
The laboratory course complements CS110 by using programming exercises to reinforce concepts and practices covered in CS110 lectures.
Offered spring semester. Prerequisite: CS101; concurrent with CS110.
This course is a continuation of CS110/111. CS210 expands on the programming techniques covered in CS1, adding discussion of recursion and data structures such as lists, stacks, queues, balanced trees, graphs and heaps. Specific algorithms that use these structures efficiently and general algorithm techniques and their analysis are also covered. Class lab time is used to reinforce concepts and practices covered in lectures.
Offered fall semester. Prerequisite: grade of C or better in CS110/111.
This course provides the theoretical foundation of modern computer hardware and software. It provides that foundation in the form of mathematical tools and concepts geared toward computer science applications. Topics covered include: logic and set theory; functions and relations; simple algorithm analysis; and an introduction to graph theory.
Offered fall semester. Prerequisite: mathematics competency.
This course covers a wide array of current topics related to social, legal, and ethical issues arising from the pervasive use of current and emerging computer-related technologies. Through discussion and writing, students are expected to thoughtfully explore the covered topics. This course is part of the College’s Intensive Writing Program and satisfies the upper-level writing requirements for computer science majors.
Offered fall semester. Prerequisite: E120 or equivalent.
A more complete and detailed study of data structures. Lists, queues, stacks and trees are reviewed, but with more emphasis on the mathematical analysis of their properties. Advanced data structures such as balanced trees, graphs and heaps are covered, as are specific algorithms that use these structures efficiently. General algorithm techniques and their analysis are also covered. Class lab time is used to introduce new concepts and explore ones described during lecture.
Offered fall semester.Prerequisite: C grades or better in CS210 and CS220.
A study of fundamental database management systems. Course topics include: data modeling, database design and structured query language (SQL), transaction management, data integrity and security. Object-relational mapping techniques and technologies will also be covered.
Offered spring semester. Co-requisite: CS325.
This course introduces students to the design and implementation of web applications. Using n-tier architectures as a starting point, students learn the concepts and practices involved in the development of dynamic and stateful web applications integrated with a database system. Both server-side and client-side web technologies are discussed.
Offered fall semester. Prerequisites: grade of C or better in CS355 and CS325.
This course introduces the formal study of programming language syntax, data types, and control structures; methods of executing higher-level constructs at run-time; and, data structures and algorithms used in compilation and interpretation. Laboratory work emphasizes acquisition of skill in a variety of programming paradigms.
Offered fall semester. Prerequisite: grade of C grade or better in CS325.
This course provides an introduction to computer hardware organization, systems programming and the hardware/software interface. Students learn the basic combinational and sequential logic components of computer processors along with their functional organization and operation. Students also learn how systems software such as operating systems, assemblers, linkers and loaders interact with hardware to in order to run application programs. Students apply their learning by writing and/or modifying systems code.
Offered spring semester. Prerequisite: grade of C or better in CS325.
This course is the first semester course of a two semester project experience wherein students apply the principles of design and development learned in earlier courses toward the implementation of a large-scale software system. Working in teams, students explore software life-cycle models, software development methodologies, software revision control, and project management as applied to a real world project.
Offered fall semester. Prerequisites: senior status, department major, and grade of C or better in CS335, CS380, and CS410.
A continuation of CS485.
B. Two courses from the following list of electives:
This course exposes students to software development on a mobile platform. Topics include performance and usability issues on hand-held devices, application portability, tools for mobile development and web protocols for mobile programming. After covering the basics of mobile development, the student will build their own mobile application.
Prerequisite: grade of C or better in CS210.
This course builds on CS288, while exploring the networking, telephony, location-based services offered by the mobile platform. The application started in CS288 may be continued in this class.
Prerequisite: grade of C or better in CS288.
Designed to permit instruction in specialized fields of computer science, explore new topics and utilize the expertise of the faculty and other resource persons. Topics include (but not limited to): simulation and modeling; cryptography and network security; human factors; and advanced data structures and algorithms.
This course engages students in the design and implementation of practical solutions for socially relevant problems. Students learn, through active involvement with diverse communities and real-world challenges, that cutting-edge computing has the ability to advance the human condition. Students join a project team composed of community outreach organizations, underserved populations, and a team of interdisciplinary faculty. They are expected to apply their computer skills and knowledge, in responsible ways, to new settings and complex problems.