12.07.2015 Views

Course Catalog - North Carolina School of Science and Mathematics

Course Catalog - North Carolina School of Science and Mathematics

Course Catalog - North Carolina School of Science and Mathematics

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

APPLIED SCIENCES / computer scienceStudents learn how to design <strong>and</strong> implement Java classes. Severalprogramming projects <strong>of</strong> increasing complexity are assigned to buildthe students’ skills in this area.CSC406* Advanced ProgrammingOne trimester (1 unit <strong>of</strong> credit)Prerequisite: CSC404* AP Computer <strong>Science</strong> A (II) orpermission <strong>of</strong> the Academic Programs Office.Meeting pattern: 4 periods per week including labThis course covers inheritance, data structures, <strong>and</strong> implementingalgorithms within these structures. Structures to be covered includelists, stacks, queues, heaps, <strong>and</strong> sets. Within these structures,students learn how to implement searching <strong>and</strong> sorting algorithms.Other topics include O-notation, the analysis <strong>of</strong> algorithms, <strong>and</strong>recursion.CSC408* Advanced Object-OrientedProgramming in C++One trimester (1 unit <strong>of</strong> credit)Prerequisite: CSC406* Advanced Programming orpermission <strong>of</strong> the Academic Programs Office.Meeting pattern: 4 periods per week including labThis is a fast-paced introduction to C++ for students who are alreadypr<strong>of</strong>icient in Java. Students learn about core C as well as C++ <strong>and</strong>are required to program in both formats. After students develop IOon both the C <strong>and</strong> C++ side, they study the structure <strong>and</strong> design <strong>of</strong>classes <strong>and</strong> compare <strong>and</strong> contrast these to the design <strong>of</strong> classesin Java. The students complete programming projects to test theirknowledge <strong>of</strong> pointers <strong>and</strong> the dynamic allocation <strong>and</strong> release <strong>of</strong>memory. The course includes the study <strong>of</strong> the concept <strong>of</strong> containerclass <strong>and</strong> iterator, focusing on the linked list as a model, <strong>and</strong> theSt<strong>and</strong>ard Template Theory.CSC410* AP Computer <strong>Science</strong> AB (I)One trimester (1 unit <strong>of</strong> credit)Prerequisite: CSC404* AP Computer <strong>Science</strong> A (II) orpermission <strong>of</strong> the Academic Programs Office.Meeting pattern: 4 periods per week including labThis course is a rapid review <strong>of</strong> Java syntax, one-dimensionaldata structures, <strong>and</strong> recursive data structures. Analysis <strong>of</strong> sorting<strong>and</strong> searching algorithms on these is included, as well as big-Oanalysis <strong>of</strong> computational cost. Queues, stacks, lists, <strong>and</strong> arraysare studied in detail.CSC412* AP Computer <strong>Science</strong> AB (II)One trimester (1 unit <strong>of</strong> credit)Prerequisite: CSC410* AP Computer <strong>Science</strong> AB (I) orpermission <strong>of</strong> the Academic Programs Office.Meeting pattern: 4 periods per week including labEmphasis is on two-dimensional data structures including trees,expression trees, search trees, heaps, <strong>and</strong> priority queues. Algorithmsinclude tree traversal, application <strong>of</strong> heaps, <strong>and</strong> evaluatingexpression trees. Also studied are sets, maps, hash tables, <strong>and</strong>graphs; <strong>and</strong> various algorithms are implanted on these.CSC414* AP Computer <strong>Science</strong> AB (III)One trimester (1 unit <strong>of</strong> credit)Prerequisite: CSC412* AP Computer <strong>Science</strong> AB (II) orpermission <strong>of</strong> the Academic Programs Office.Meeting pattern: 4 periods per week including labThis course is a practicum in advanced techniques that applythe ideas <strong>of</strong> CSC400*, CSC402*, CSC404*, CSC410*, <strong>and</strong> CSC412*including such topics as web programming, databases, threads, <strong>and</strong>advanced GUI techniques. The AP case study is used throughoutas a source <strong>of</strong> examples.CSC416* Programming in SASOne trimester (1 unit <strong>of</strong> credit)Prerequisite: Functional expertise in one other programminglanguage (e.g. C++, Visual Basic, Java, or others) <strong>and</strong>permission <strong>of</strong> the Academic Programs OfficeMeeting pattern: 4 periods per week including labThis course teaches the use <strong>of</strong> SAS, a tool used in university research<strong>and</strong> courses such as psychology, sociology, statistics, mathematics,business, life sciences, <strong>and</strong> public health to analyze large datasets<strong>and</strong> generate reports. It has wide use in careers including technology,market research, financial management, risk management,underwriting, <strong>and</strong> others. Students engage in several small <strong>and</strong>medium length applied projects. Wherever possible these involveinterdisciplinary work that is linked to the existing curriculum topicstaught in core content areas.CSC490*, CSC492*, <strong>and</strong> CSC494* AdvancedComputer <strong>Science</strong> TopicsOne trimester each (1 unit <strong>of</strong> credit)Prerequisite: Permission <strong>of</strong> the Academic ProgramsOffice.This course <strong>of</strong>fers an opportunity for students with an especially strongbackground in computer science to pursue a rigorous study <strong>of</strong> a topicoutside the st<strong>and</strong>ard curriculum. This course is intended for studentswho have exhausted the other course <strong>of</strong>ferings in computer scienceor who wish to do independent research in computer science.NCSSM 2008-0932COURSE CATALOG

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!