04.11.2014 Views

NCSSM COURSE CAtAlOG - North Carolina School of Science and ...

NCSSM COURSE CAtAlOG - North Carolina School of Science and ...

NCSSM COURSE CAtAlOG - North Carolina School of Science and ...

SHOW MORE
SHOW LESS

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

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

This class covers the ‘A’ curriculum <strong>of</strong> the AP Syllabus in Computer <strong>Science</strong>.<br />

Students build on the skills acquired in CS400 or CS402 <strong>and</strong> learn how to write<br />

object-oriented programs in Java. Students learn how to design <strong>and</strong> implement<br />

Java classes. Several programming projects <strong>of</strong> increasing complexity are<br />

assigned to build the students’ skills in this area.<br />

CS406 Advanced Programming<br />

One trimester<br />

Credit: One unit core elective credit.<br />

Prerequisite: CS404 AP Computer <strong>Science</strong> A (II) or permission <strong>of</strong> the Academic<br />

Programs Office.<br />

Meeting pattern: Four periods per week including lab.<br />

This course covers inheritance, data structures, <strong>and</strong> implementing algorithms<br />

within these structures. Structures to be covered include lists, stacks, queues,<br />

heaps, <strong>and</strong> sets. Within these structures, students learn how to implement<br />

searching <strong>and</strong> sorting algorithms. Other topics include O-notation, the analysis<br />

<strong>of</strong> algorithms, <strong>and</strong> recursion.<br />

CS408 Elements <strong>of</strong> Computer Systems<br />

One trimester<br />

Credit: One unit core elective credit.<br />

Prerequisite: CS400 AP Computer <strong>Science</strong> A (I): Using the WWW or CS402 AP<br />

Computer <strong>Science</strong> A (I) or permission <strong>of</strong> the Academic Programs Office.<br />

Meeting pattern: Four periods per week including lab.<br />

This course, designed for students with solid computing skills in a Turing-complete<br />

language such as Python, Java, or C/C+, answers the question “When I write a<br />

program <strong>and</strong> run it, what chain <strong>of</strong> events causes it to execute?”. We begin at<br />

the level <strong>of</strong> logic gates <strong>and</strong> progress to a simplified high-level language. The<br />

student gains insight into the workings <strong>of</strong> the arithmetic logic unit, the central<br />

processing unit, <strong>and</strong> their interactions with memory. The student also sees how<br />

the compiler works, how it translates the code into assembly language <strong>and</strong> how<br />

the assembly language ultimately interacts with the computer’s architecture.<br />

The insights gained in this course help the student become a better programmer<br />

by having a better underst<strong>and</strong>ing <strong>of</strong> what is happening underneath a high-level<br />

language.<br />

CS410 Data Structures<br />

One trimester<br />

Credit: One unit core elective credit.<br />

83

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

Saved successfully!

Ooh no, something went wrong!