<p>I read somewhere that Bama’s US news ranking gas been steadily climbing. Does anyone know what the ranking was in the year 2005, for example? I see that it is ranked 77 now among the National Universities. Is it likely to rise even further, or would the going be much tougher from now on out?</p>
<p>Bama’s ranking rose about 22 spots in a very short time (maybe within 3 years?).</p>
<p>It will like rise higher since the top quartile of each freshman class keeps getting better. I can remember when the top 25% was an ACT 28+, now it’s a 31+. </p>
<p>It does get harder to rise after some point; there are often a LOT of ties, and the difference between each step in the ranking can be tiny. A school can move up or down without any noticeable difference in the school. </p>
<p>Keep in mind that academics is only about 40% of the ranking calculation.</p>
<p>I fully expect that it will take some time for UA to advance much further in the rankings. The reason why is that a huge part of the US News ranking is the academic rep score given to it by administrators at other schools. Why would a Univ. of Tenn. or Auburn Univ., not to mention a Harvard administrator for example, want to believe that UA has overtaken them in a certain area? Of course UA has improved in the rankings, despite this hurdle, but I think there is still much snobbishness among administrators.</p>
<p>I know that Bama’s Accounting Program ranking is steadily rising. Last year #20 this year 18.</p>
<p>I’ve been wondering this as well. My son is interested in Computer Science and I don’t think that department is very highly ranked. I scanned the course list and its not that impressive compared to other schools we are looking at. Granted, I’m comparing it to some very highly regarded programs but I’d like to hear about improvements being made to the computer science department specifically. I think it mostly comes down to how well they can attract top talent to come teach there.</p>
<p>@ collegedadnh</p>
<p>From going to career fairs at UA it seems that CS is one of the easiest, if not the easiest, field to find a good job in now. All of my friends in CS at UA have gotten great offers, and they have usually gotten multiple offers. I know the ranking may not be that high, but I do believe it is definitely on the uprise. I bet all of the future professors CS hires will of very high quality because of all the resources the school has been pouring into science and engineering. </p>
<p>Also, I don’t think rankings are that important when it comes to things like computer science unless your son wants to go to graduate school. It seems it is all about work experience and GPA. Why weren’t you impressed with the class schedule? Aren’t most ABET accredited programs very similar? The classes may be the same at UA but called different things at other universities. If your son has stats to get a merit based scholarship to UA, then I would definitely recommend it. I think he would get just as good (and high paying) as a job as he would if he graduated from a school like Carnegie Mellon and would be able to forego the $50K price tag. That is if he makes the grades and gets good work experience. I really suggest he looks into the MIS (Management Information Systems) major at UA. It was recently ranked 16th in the country I believe and they had a 100 % job placement last year. It’s kind of a mix between a management and computer science degree.</p>
<p>I don’t think ranking in CS (or eng’g) matters much. There are many, many very good CS (and eng’g) programs in the US. </p>
<p>In Calif alone, there are over 25 very good CS and eng’g programs. That is one state alone! Of the over 25 very good programs, how many are “highly ranked”? Maybe 6 at most? </p>
<p>to think that one needs to go to a highly ranked program is not seeing the whole picture. </p>
<p>The country needs thousands and thousands of Eng’g and CS grads every year. It’s not reasonable to thing that a small number of “highly ranked programs” can produce enough qualified grads. </p>
<p>Each (or nearly) each state has at least one school that has a good CS program. Many, many states that 4-5+ universities with good programs. </p>
<p>Those schools are all graduating students ready for employment.</p>
<p>Well the ranking is one data point. But even if not highly ranked, an impressive course offering is suggestive of a good program. UA’s is ok but not really cutting edge. I’ll look at it again in case I missed something but if you’re curious, compare the comp sci course list for UA to that of NC ST. I’m liking UA for the scholarships and campus but would like to see its comp sci program pick it up a notch, that’s all. I think attracting top notch profs would do it and I’m just hoping that is being worked on as we type.</p>
<p>^^
Have you contacted Dr. David Cordes? He’s the dept head for CS as well as the Director for the Freshman Eng’g Program? He’s very good about responding to inquiries.</p>
<p>[David</a> Cordes Web Site](<a href=“http://cordes.cs.ua.edu/]David”>http://cordes.cs.ua.edu/)</p>
<p><a href=“mailto:cordes@cs.ua.edu”>cordes@cs.ua.edu</a></p>
<p>I see that NC State offers 59 undergrad CS courses, and Bama offers 50 undergrad CS courses. </p>
<p>Bama’s CS undergrad courses:</p>
<p>Department of Computer Science
Overview Curriculum Computer Science Minor Computing Technology and Applications Minor Courses</p>
<p>Courses
CS*102. Microcomputer Applications. 3 sem. hrs.</p>
<p>Familiarization with Windows, fundamental and intermediate word processing commands, spreadsheet applications, and database management. (Credit for this course will not be applied to the requirements for a computer science degree).</p>
<p>CS*104. The Science of Programming. 3 sem. hrs.</p>
<p>This course is designed for students who wish to have some programming experience before entering CS150. Topics include: literals, variables, expressions, functions, curried functions, objects, writing and saving programs, organizing programs and data.
Prerequisite(s): Permission of Instructor
Prerequisite(s) with concurrency: MATH<em>112 or MATH</em>115 or MATH<em>125 or MATH</em>126 or
MATH<em>145 or MATH</em>146.</p>
<p>CS*120. Business Programming I. 0 or 3 sem. hrs.</p>
<p>An introduction to programming. The topics include procedural information enabled problem formulation, design and development of business computer solutions. This course concentrates on the construction and testing of individual programs.
Prerequisite(s): MATH<em>112 or MATH</em>115 or MATH<em>121 or MATH</em>125.</p>
<p>CS*121. The Discipline of Computing. 1 sem. hr.</p>
<p>An introduction to the discipline of computing designed for students who are considering a major or minor in computer science.
Prerequisite(s): MATH<em>112 minimum Grade of C- OR higher OR UA Placement Mathematics 380
Prerequisite(s) with concurrency: MATH</em>112.</p>
<p>CS*150. Programming I. 2 sem. hrs.</p>
<p>An introductory course that teaches programming and program development. The emphasis of the course is the rapid acquisition of programming, testing, debugging and system skills. The course utilizes Python, a modern object-oriented language whose clean and consistent syntax and semantics provide a simpler entry for beginning programmers.
Prerequisite(s): MATH<em>112 or MATH</em>113 or MATH<em>115 or MATH</em>121 or MATH<em>125 or MATH</em>145 or MATH*146.</p>
<p>CS*160. Computer Science Concepts. 1 sem. hr.</p>
<p>Introductory programming laboratory that focuses on basic problem solving concepts.
Prerequisite(s): Credit for MATH<em>112 or placement into MATH</em>115 or above.</p>
<p>CS*202. Intro to the Internet. 3 sem. hrs.</p>
<p>Introduces the student to the fundamentals of the internet and web page design and development. Students will be shown how to use the internet, text editors, and build basic web pages using HMTL coding. This will include, but not be limited to hyperlinks, tables, basic CSS styling, frames and forms. The student will also be given demonstrations and assignments using a WYSIWYG editor.
Prerequisite(s): CS<em>102 or CS</em>150 or ENGR<em>103 or CBH</em>101.</p>
<p>CS*205. Web Site Design. 3 sem. hrs.</p>
<p>A course designed to teach website design principles and implementation techniques. This class is not cross-listed as a graduate course. Computing proficiency is required for a passing grade in this course.
Prerequisite(s): CS*202.</p>
<p>CS*220. Business Programming II. 3 sem. hrs.</p>
<p>This course builds on the concepts and expertise gained in data driven problem solving and computer programming. It explores problem formulation, solution designing and object-oriented construction of business applications. This course concentrates on problem decomposition, design, construction and testing of individual programs. Computing proficiency is required for a passing grade in this course.
Prerequisite(s): CS<em>120 or CBH</em>101.</p>
<p>CS*250. Programming II. 2 sem. hrs.</p>
<p>A second course in programming that builds upon the concepts covered in CS<em>150. The emphasis is to improve and solidify program development skills as well as to introduce students to multimedia programming. Computing proficiency is required for a passing grade in this course.
Prerequisite(s): CS</em>150.</p>
<p>CS*260. Foundations of Comp Science. 0 or 3 sem. hrs.</p>
<p>An introduction to the science of Computer Science. Topics include: introduction to complexity, O(n) searching, sorting, design strategies, problem solving, arrays, singly-linked lists, stacks, and creative and searching binary search trees.
Prerequisite(s): CS<em>150 and (CS</em>160 or ECE*285).</p>
<p>CS*285. Microcomputer Appl II. 3 sem. hrs.</p>
<p>Use of spreadsheets and other environments to build business and scientific applications. Course includes development of problem-solving skills and an introduction to the object-oriented paradigm. Computing proficiency is required for a passing grade in this course.
Prerequisite(s): CS<em>102 or CS</em>150 or CBH<em>101 or ENGR</em>103.</p>
<p>CS*302. Computerized Database Systems. 3 sem. hrs.</p>
<p>An introduction to commercial database packages. Students will gain familiarity with both creating and using standard database software packages to solve real-world problems. Computing proficiency is required for a passing grade in this course.
Prerequisite(s): CS<em>102 or CS</em>150 or CBH<em>101 or ENGR</em>103.</p>
<p>CS*315. Software Engineering. 3 sem. hrs.</p>
<p>Introduction to software engineering: the software crisis, program life cycle, software systems analysis techniques, software modeling, theory and practice of design, program testing methodologies, programmer team organization, and program verification and synthesis.
Prerequisite(s): CS<em>260 and CS</em>250 or ECE*285.</p>
<p>CS*325. Software Develmnt Systms. 3 sem. hrs.</p>
<p>Object-oriented programming in C++ under the Unix OS.
Prerequisite(s): CS<em>260 or CBH</em>102.</p>
<p>CS*340. Legal & Ethical Issues in Comp. 3 sem. hrs.</p>
<p>By way of case study, the course finds and frames issues related to legal and ethical issues in computing. Topics include privacy, free speech, intellectual property, security, and software reliability and liability issues. Computing proficiency is required for a passing grade in this course.
Prerequisite(s): CS<em>102 or CS</em>150 or ENGR<em>103 or CBH</em>101.</p>
<p>CS*345. Adv. Legal & Ethical Issues. 3 sem. hrs.</p>
<p>Using case study and fact pattern analysis, students will find and frame legal and ethical issues presented by past, contemporary and emerging technology. Students will engage in service learning to enhance their sense of civic responsibility.
Prerequisite(s): CS*340.</p>
<p>CS*350. Programming III: Java. 2 sem. hrs.</p>
<p>The third course in programming that builds upon the concepts covered in CS<em>250 and transitions to the Java programming language. The emphasis is on building larger projects using production languages and development environments. Computing proficiency is required for a passing grade in this course.
Prerequisite(s): CS</em>250 or ECE*285.</p>
<p>CS*351. Programming III: C++. 2 sem. hrs.</p>
<p>The third course in programming that builds upon the concepts covered in CS<em>250 and transitions to the C++ programming language. The emphasis is on building larger projects using production languages and development environments. Computing proficiency is required for a passing grade in this course.
Prerequisite(s): CS</em>250 or ECE*285.</p>
<p>CS*352. Programming III: C. 2 sem. hrs.</p>
<p>The third course in programming that builds upon the concepts covered in CS<em>250 and transitions to the C programming language. The emphasis is on building larger projects using production languages and development environments.
Prerequisite(s): CS</em>250 or ECE*285.</p>
<p>CS*357. Data Structures. 3 sem. hrs.</p>
<p>Basic concepts of data, linear lists, strings, arrays, trees, graphs, and the related storage of representations and structures. Applications include expression conversion, sorting, searching and dynamic storage allocation. Computing proficiency is required for a passing grade in this course.
Prerequisite(s): CS<em>325
Prerequisite(s) with concurrency: CS</em>325.</p>
<p>CS*360. Data Structures & Algorithms. 4 sem. hrs.</p>
<p>Basic concepts of data, linear lists, strings, arrays, trees, graphs, and the related storage of representations and structures. Applications include expression conversion, sorting, searching and dynamic storage allocation. Computing proficiency is required for a passing grade in this course.
Prerequisite(s): MATH<em>301; and CS</em>250 or ECE<em>285; and CS</em>260;
Prerequisite(s) with concurrency: MATH<em>302 and CS</em>350 and CS<em>351 and CS</em>352.</p>
<p>CS*375. Programg Using Visual Environm. 3 sem. hrs.</p>
<p>Design and construction of programs using the Visual Basic programming environment. This course is designed for students majoring in MIS.
Prerequisite(s): MATH<em>112 or MATH</em>115; and CS<em>250 or CBH</em>102.</p>
<p>CS*385. Prototyping In Visual Environm. 3 sem. hrs.</p>
<p>Design and construction of standard user interfaces using a visual programming environment. Course includes the prototyping of several standard user interface mechanisms. Computing proficiency is required for a passing grade in this course.
Prerequisite(s): CS*285.</p>
<p>CS*391. Special Topics. 3 sem. hrs.</p>
<p>Special topics in computing.</p>
<p>CS*395. Competitive Programming I. 1 sem. hr.</p>
<p>A study of techniques and practices that promote success in competitive programming contests.</p>
<p>CS*396. Competitive Programming II. 1 sem. hr.</p>
<p>Advanced study of techniques and practices that promote success in competitive programming contests. Must have 3 hours of credit in CS<em>395.
Prerequisite(s): CS</em>395.</p>
<p>CS*403. Programming Languages. 3 sem. hrs.</p>
<p>Formal study of programming language specification, analysis, implementation, and run-time support structures; organization of programming languages with emphasis on language constructs and mechanisms; and study of non-procedural programming paradigms.
Prerequisite(s): CS<em>315; and CS</em>350 or CS<em>351 or CS</em>352 or CS<em>325; and CS</em>360 or CS<em>357; and ECE</em>383.</p>
<p>CS*407. Software Interface Desgn. 3 sem. hrs.</p>
<p>Basic concepts of the human-computer interface, including human diversity, user mental models, menus, command languages, documentation, error messages, anthropomorphisms, and software psychology.
Prerequisite(s): CS<em>315; and CS</em>350 or CS<em>351 or CS</em>352 and CS<em>357 or CS</em>360; and ECE*383.</p>
<p>CS*415. Software Design & Development. 3 sem. hrs.</p>
<p>Object-oriented design and development using UML and Java, design patterns, and architectural patterns.
Prerequisite(s): CS<em>315; and CS</em>350 or CS<em>351 or CS</em>352 or CS<em>325; and CS</em>357 or CS<em>360; and ECE</em>383.</p>
<p>CS*416. Testing and Quality Assurance. 3 sem. hrs.</p>
<p>Study of verification & validation and related processes. Topics include techniques and tools for software analysis, testing, and quality assurance.
Prerequisite(s): CS<em>315, (CS</em>350 or CS<em>351), CS</em>360, and ECE*383.</p>
<p>CS*417. Requirements Engineering. 3 sem. hrs.</p>
<p>Study of requirements engineering and it’s phases. Topics include formal, semi-formal, and informal paradigms for elicitation, documentation, and management of software system requirements.
Prerequisite(s): CS<em>315, (CS</em>350 or CS<em>351), CS</em>360, and ECE*383.</p>
<p>CS*420. Software Mainten. & Evolution. 3 sem. hrs.</p>
<p>Study of software and its phases. Topics include techniques and tools for concept location, impact analysis, actualization, refactoring, and validation.
Prerequisite(s): CS<em>315 and CS</em>350 or CS<em>351; and CS</em>360 and ECE*383.</p>
<p>CS*426. Intro Operating Systems. 3 sem. hrs.</p>
<p>Study of basic operating system concepts with an emphasis on memory, processor, device, and information management.
Prerequisite(s): CS<em>315 and CS</em>350 or CS<em>351 or CS</em>352; and CS<em>360 and ECE</em>383; or CS<em>325 and CS</em>357 and ECE*383.</p>
<p>CS*428. Computer Security. 2 sem. hrs.</p>
<p>An examination of computer security concepts, such as cryptographic tools, user authentication, access control, database security, intrusion detection, malicious software, denial of service, firewalls and intrusion prevention systems, trusted computing and multilevel security, buffer overflow, software security, physical and infrastructure security, human factors, and security auditing.
Prerequisite(s): CS*426.</p>
<p>CS*434. Compiler Construction. 3 sem. hrs.</p>
<p>Syntax and semantics of procedure-oriented languages and translation techniques used in their compilation; includes computer implementation.
Prerequisite(s): CS<em>315; and CS</em>350 or CS<em>351 or CS</em>352 or CS<em>325; and CS</em>360 or CS<em>357; and ECE</em>383.</p>
<p>CS*435. Computer Graphics. 3 sem. hrs.</p>
<p>Fundamentals of interactive 3-D computer graphics, including modeling and transformations, viewing, lighting and shading, mapping methods, graphics pipeline, shading languages, and interaction techniques. Programming projects are required.
Prerequisite(s): CS<em>315; and CS</em>350 or CS<em>351 or CS</em>352 or CS<em>325; and CS</em>360 or CS<em>357; and ECE</em>383.</p>
<p>CS*438. Comptr Commcn Networks. 3 sem. hrs.</p>
<p>The study of the issues related to computer communications. Topics include physical topologies, switching, error detection and correction, routing, congestion control, and connection management for global networks (such as the Internet) and local area networks (such as Ethernet). In addition, network programming and applications will be considered.
Prerequisite(s): CS<em>315; and CS</em>350 or CS<em>351 or CS</em>352 or CS<em>325; and CS</em>360 or CS<em>357; and ECE</em>383.</p>
<p>CS*440. Ethical Societal Issues. 3 sem. hrs.</p>
<p>The course looks at social, legal, and ethical aspects of computing, and presents the student with an overall framework of computing-related disciplines and culture. Includes computer crime issues (hackers, viruses, worms); other legal issues (software patents, copyrights, product liability, etc.); and computing risks and privacy implications.
Prerequisite(s): CS<em>315; and CS</em>350 or CS<em>351 or CS</em>352 or CS<em>325; and CS</em>360 or CS<em>357; and ECE</em>383.</p>
<p>CS*457. Data Base Managm Systems. 3 sem. hrs.</p>
<p>Constituent parts of database management (design, creation, and manipulation of databases), including the conceptual and relational data models, SQL, normalization and security. Writing proficiency within this discipline is required for a passing grade in this course.
Prerequisite(s): CS<em>315; and CS</em>350 or CS<em>351 or CS</em>352 or CS<em>325; and CS</em>360 or CS<em>357; and ECE</em>383.</p>
<p>CS*460. Intro to Autonomous Robotics. 3 sem. hrs.</p>
<p>Issues involved with the implementation of robot control software including motion, kinematics, simulation testing, sensor incorporation and unmodeled factors.
Prerequisite(s): CS*426.</p>
<p>CS*465. Artificial Intelligence. 3 sem. hrs.</p>
<p>The advanced study of topics under the umbrella of artificial intelligence including problem solving, knowledge representation, planning and machine learning.
Prerequisite(s): CS<em>315; and CS</em>350 or CS<em>351 or CS</em>352 or CS<em>325; and CS</em>360 or CS<em>357; and ECE</em>383.</p>
<p>CS*466. Information Systems. 3 sem. hrs.</p>
<p>Information Systems
Prerequisite(s): CS*102 and six (6) hours of other CS courses.</p>
<p>CS*470. Intro Computer Algorithms. 3 sem. hrs.</p>
<p>Construction of efficient algorithms for computer implementation.
Prerequisite(s): CS<em>315; and CS</em>350 or CS<em>351 or CS</em>352 or CS<em>325; and CS</em>360 or CS<em>357; and ECE</em>383.</p>
<p>CS*475. Formal Languag & Machine. 3 sem. hrs.</p>
<p>Regular expressions and finite automata. Context free grammars and pushdown automata. Recursively enumerable languages and turing machine. The Chomsky hierarchy.
Prerequisite(s): CS<em>315; and CS</em>350 or CS<em>351 or CS</em>352 or CS<em>325; and CS</em>360 or CS<em>357; and ECE</em>383.</p>
<p>CS*491. Special Topics. 3 sem. hrs.</p>
<p>Formal courses that cover new and innovative topics in computer science and do not yet have their own course numbers. Specific course titles will be announced from time to time.
Prerequisite(s): CS<em>315; and CS</em>325 or CS<em>350 or CS</em>351 or CS<em>352; and CS</em>357 or CS<em>360; and ECE</em>383.</p>
<p>CS*492. Special Prob (Area). 1-3 sem. hr.</p>
<p>Reading and research course designed to meet the needs of individual students. This course cannot be used as a required 400-level computer science elective.</p>
<p>CS*495. Capstone Computing. 3 sem. hrs.</p>
<p>A culminating capstone project course that integrates the skills and abilities throughout the curriculum into a comprehensive design and development experience for computer science majors. Writing proficiency within this discipline is required for a passing grade in this course, and ethical issues are applied to the students’ future professions.
Prerequisite(s): (CS<em>325 and CS</em>357); or (CS<em>350 or CS</em>351 or CS<em>352; and CS</em>315 and CS*360).</p>
<p>CS*497. Competitive Programming Techniques. 1 sem. hr.</p>
<p>Provides a unique opportunity to explore new problem solving techniques in a way that is not covered traditionally in the curriculum, helping students improve their software development skills.
Prerequisite(s): CS*360.</p>
<p>CS*499. Undergraduate Thesis Research. 3 sem. hrs.</p>
<p>Independent research and participation within a faculty member’s research group. Writing proficiency within this discipline is required for a passing grade in this course. Permission of the supervising faculty member is required.
Prerequisite(s): CS<em>315; and CS</em>350 or CS<em>351; and CS</em>360 and ECE*383.</p>
<p>NCSU undergrad list is below.</p>
<p>CSC 112- Introduction to Computing-FORTRAN
CSC 113- Introduction to Computing - MATLAB
CSC 114- Introduction to Computing-C++
CSC 116- Introduction to Computing - Java
CSC 200- Introduction to Computers and Their Uses</p>
<p>CSC 214- Programming Concepts
CSC 216- Programming Concepts - Java
CSC 224- Applied Discrete Mathematics
CSC 226- Discrete Mathematics for Computer Scientists
CSC 230- C and Software Tools</p>
<p>CSC 234- Computer Organization and Assembly Language
CSC 236- Computer Organization and Assembly Language for Computer Scientists
CSC 244- Concepts and Facilities of Operating Systems
CSC 246- Concepts and Facilities of Operating Systems for Computer Scientists
CSC 251- Web Page Development</p>
<p>CSC 252- Introduction to Software Testing
CSC 255- String Processing Languages
CSC 257- Introduction to Java
CSC 281- Foundations of Interactive Game Design
CSC 295- Special Topics in Computer Science</p>
<p>CSC 302- Introduction to Numerical Methods
CSC 314- Data Structures
CSC 316- Data Structures for Computer Scientists
CSC 326- Software Engineering
CSC 333- Automata, Grammars, and Computability</p>
<p>CSC 340- Information Systems Management
CSC 342- Applied Web-based Client-Server Computing
CSC 379- Ethics in Computing
CSC 401- Data and Computer Communications Networks
CSC 402- Network Projects</p>
<p>CSC 405- Introduction to Computer Security
CSC 411- Introduction to Artificial Intelligence
CSC 413- Electronic Commerce Technology
CSC 416- Introduction to Combinatorics
CSC 417- Theory of Programming Languages</p>
<p>CSC 422- Automated Learning and Data Analysis
CSC 423- Information Resources Management
CSC 425- Engineering Knowledge- Based Services
CSC 427- Introduction to Numerical Analysis I
CSC 428- Introduction to Numerical Analysis II</p>
<p>CSC 431- File Organization and Processing
CSC 440- Database Management Systems
CSC 441- Introduction to Simulation
CSC 450- Web Services
CSC 453- Software for Wireless Sensor Systems</p>
<p>CSC 454- Human-Computer Interaction
CSC 456- Computer Architecture and Multiprocessors
CSC 461- Computer Graphics
CSC 462- Advanced Computer Graphics Projects
CSC 467- Multimedia Technology</p>
<p>CSC 474- Network Security
CSC 481- Game Engine Foundations
CSC 482- Advanced Computer Game Projects
CSC 484- Building Game AI
CSC 485- Innovating in Technology</p>
<p>CSC 492- Senior Design Project
CSC 495- Special Topics in Computer Science
CSC 499- Independent Research in Computer Science
CSC 501- Operating Systems Principles</p>
<p>If you see something in the above list that you think Bama needs to include, why not ask Dr. Cordes?</p>
<p>I have never looked at Bama’s CSCI courses before since my S had no interest in pursuing that major, but depending on your student’s career goals, I can see where you are coming from.</p>
<p>Here in Indiana we have 2 VERY distinct CSCI programs. Indiana U is very theoretical and heavy on the programming beginning very early. CSCI is in their college of arts and sciences. Purdue’s program is in the school of engineering and is much more practical and has strong resemblence to the Bama program. It looks more like an MIS degree to me than a CSCI degree, but that’s because I’m more familliar with the very theoretical, heavily programming based degree that IU offers.</p>
<p>If your student dreams of programming for Microsoft someday, I agree the engineering programs look a little ‘weak’. If your student is hoping to work in a business environment, perhaps as a business analyst or IT project manager, then the more practical degree is probably the better route.</p>
<p>I posted this information in another thread the other day, but since this topic is regarding Computer Science I thought (IMHO) that it is relevant in this string as well…</p>
<p>It may be of interest to note that the Computer Science Major is the 9th most declared major popular among Honors College First-Time undergraduates at UA in the Fall of 2012.</p>
<p>Listed below are the top 12 majors in the HONORS COLLEGE for 2012 (percentage is of the 1755 students):</p>
<p>8.7% Chemical Engineering
7.3% Pre-Medical
6.8% Undesignated Engineering
5.9% Mechanical Engineering
5.5% Biology
4.7% Pre-Major Studies
3.6% Nursing
3.3% Lower Division General Business
3.1% Computer Science
3.0% Lower Division Finance
3.0% Electrical Engineering
2.6% Lower Division Accounting </p>
<p>Source: “The University of Alabama Factbook: 2012-13” (p. 77) – Honors College First-Time Undergraduates by Major: Fall 2012</p>
<p>I don’t know anything about Computer Science, but I did want to make you aware of the University Scholars program which is BS/MS in 5 years. [Scholars</a> Program - Undergraduate Programs - Computer Science - The College of Engineering - UA](<a href=“http://cs.ua.edu/undergraduate/scholars-program/]Scholars”>Scholars Program – Computer Science | The University of Alabama)</p>
<p>You have plenty of time to make a decision. IMHO, it is worth the application fee to send in the Bama app, apply to the Honors College and then revisit the details of the course offerings after other applications have been done.</p>
<p>Oh, S is definitely going to apply. He feels good about the school and I feel good about the opportunity of afford college via the generous scholarship program. I’m just researching on my end since I’m a software engineer myself and have certain expectations about the program. Beware, engineers analyze things to death!</p>
<p>One thought - you might want to check some of the other Bama departments’ course offerings. Some of the courses on that list from NCSU are part of the Bama CS curriculum, but they are not CS listed courses. For example, discrete math is in the math department, and digital logic and microcomputers are in the electrical and computer engineering department. Some of the course names make it hard to tell whether the NCSU ones are the same as the ones at Bama or different. That may be another question Dr. Cordes could help with.</p>
<p>Bama does seem to be lacking in game design offerings, but since my son was not interested in that aspect of CS we didn’t really pay much attention.</p>
<p>Alabama’s Comp Sci is within the College of Eng’g so it will be different from CS programs at schools that put CS in Arts&Science. </p>
<p>As someone mentioned above, they’re more familiar with IU’s Comp Sci which isn’t in Eng’g, and they think Bama’s CS is more like Purdue’s CS. Since Bama’s CS Dept Head is a Purdue grad, that doesn’t surprise me. </p>
<p>UA Comp Sci</p>
<p>STUDENT LEARNING OUTCOMES</p>
<p>The computer science undergraduate program, leading to a bachelor of science degree, is designed to enable students:</p>
<p>An ability to apply knowledge of computing and mathematics appropriate to the discipline</p>
<p>An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution</p>
<p>An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs</p>
<p>An ability to function effectively in teams to accomplish a common goal</p>
<p>An understanding of professional, ethical, legal, security and social issues and responsibilities</p>
<p>An ability to communicate effectively with a range of audiences</p>
<p>An ability to analyze the local and global impact of computing on individuals, organizations, and society</p>
<p>Recognition of the need for and an ability to engage in continuing professional development</p>
<p>An ability to use current techniques, skills, and tools necessary for computing practice</p>
<p>An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices</p>
<p>An ability to apply design and development principles in the construction of software systems of varying complexity</p>
<p>For additional questions about the undergraduate program, contact Dr. Marcus Brown. <a href=“http://cs.ua.edu/people/mbrown/[/url]”>http://cs.ua.edu/people/mbrown/</a></p>
<p>I’m more familiar with UMass which introduces programming using Java. At UA you don’t get to Java (or C++) until programming 3. Maybe some of the topics I was hoping to see are hidden in the advanced topics courses where they aren’t described in any detail. I guess I’m just not liking the way the UA course offering was put together and, indeed, they may have had MIS in mind rather than producing devos for software firms. Being part of the engineering school does NOT explain that btw.</p>
<p>I believe MIT’s introductory programming course is Python.</p>
<p>Also (“The Case for Replacing Java with Python in Education”): <a href=“http://thinkingdigitally.com/archive/the-case-for-replacing-java-with-python-in-education/[/url]”>http://thinkingdigitally.com/archive/the-case-for-replacing-java-with-python-in-education/</a></p>
<p>Lots of different opinions on this, though.</p>
<p>they may have had MIS in mind rather</p>
<p>That would seem odd since Bama has MIS in the Bschool.</p>
<p>I think you should contact Drs. Cordes and Brown for clarification.</p>